Re[10]: Heap в С#
От: YuraL  
Дата: 30.01.03 08:48
Оценка:
AVK>Вот как раз практика и показывает что писание серверов для большого кол-ва пользователей (>100) на языках с ручным выделением памяти это полный писец. Не знал не говорил бы. Утекло где нить пару десятков байт, а потом через неделю продакшн сервер встал. А тестовый работает и не глючит.

Не надо только так сильно шуметь. На все эти заявления я могу предложить только одно. Ты демонстрируешь свою систему я свою. Лучше конечно чтобы ты был в Москве. Если нет можно обменяться клиентскими частями. С моей стороны я тебе настраиваю доступ через интернет. Такой пустой разговор я думаю ни к чему не приведет. В данном случае столкнулся твой опыт с моим.

YL>>2. Rational Rose написали отличные ребята( это я об утечках памяти).


AVK>Роза то тебе чем поможет? Нет я понимаю что сейчас будут мне рассказывать про смарт-поинтеры, правильное проектирование, баундс чекеры, но это все полумеры. Я при написании сервера хочу заниматься его логикой, а не распределением памяти. В обычном сервере на джаве или дотнете сплошь и рядом отложенное создание, кеширование, пулинг и прочая. Если попытаться написать подобным образом на плюсах, да еще если ручками хип делать, то отловить в ней что то это полный абзац. А когда к этому добаляется еще СОМ то все становиться просто прекрасно. Ощущение такое что программа живет своей жизнью, потому как единого цикла ее работы и порядка создания объектов с ходу определить не удастся. А GC подобное вполне позволяет без особого напряга, потому как я память выделил, а когда и кто ее будет освобождать мне по барабану, я знаю что она гарантированно убьется.


Ну на это заявление только один вывод. Или незнание или неумение работать с Rational Purify и Rational Quantify.

YL>>Правильно, но не совсем. Не на пользователя а на соединение на сервере приложения. И когда пользователь закрывает соединение разрушается heap. Т.е. никаких утечек не происходит !!!


AVK>Тогда домен самое оно. Заодно можно исключить выполнение привилегированного кода пользователем.


AVK>>>Вот как раз с точки зрения минимизации времени отклика сделать GC крайне сложно. Ты просто сделай два тестика — один на дотнете, а другой на плюсах и посмотри что у тебя получится.


YL>>Да делал уже. На С++ и С#. Для NETa последствия хреновые.


AVK>У меня почему то картинка обратная (да не только у меня, IT тебе ссылочку привел)


Мне эти ссылкочки неинтересны по одной простой причине. Пока сам не пощупаю не поверю.
А все очень просто. Беру С++ кусок кода и делаю замеры и NET. Вопросы отпадают.
YL>>Это говорит о том, что писать на NET сервер приложения нецелесобразно.

AVK>Именно для серверов приложений дотнет прежде всего и делался. Сейчас в мире тяжелые сервера пишут как правило на джаве.

Не хочу бросать камень в огород жабистов, но мне хватает инсталлятора ORACLE написаного на жабе.
YL>> Да это будет надежно, можно быстро локализовывать ошибки, но это будет вселенский тормоз.

AVK>Железка дешевле софта.

Вроде windows платформа вроде еще не работает на mainfram'ах. штучек так 200(может конечно ошибаюсь, особо не слежу)

YL>>Заказчики не поймут и не одобрят. Мы ведь с ребятами делаем коммерческий продукт. С этого и живем.


AVK>Я тут как бы на текущей работе прежде всего как раз такой заказчик а не программер. Так вот — я тебе честно скажу — на тормоза мне плевать, особенно на такие какие будут из за разных механизмов выделения памяти (можешь пообщаться с Владом, он тебе расскажет насколько изменилось быстродействие, когда он вместо стандартного использовал quick heap). А вот если в сервере будут месяцами жить утечки то в лес такой сервер. Если для изменения бизнес-логики мне придется писать код на С++ то тоже в лес такой сервер.


AVK>

Значит у нас тобой разные сферы применения продукта. У меня заказчикам наплевать на объемы дисков, памяти. А вот скорость — главный критерий
Re[11]: Heap в С#
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 30.01.03 11:00
Оценка:
Здравствуйте, YuraL, Вы писали:

YL>Не надо только так сильно шуметь. На все эти заявления я могу предложить только одно. Ты демонстрируешь свою систему я свою. Лучше конечно чтобы ты был в Москве. Если нет можно обменяться клиентскими частями. С моей стороны я тебе настраиваю доступ через интернет. Такой пустой разговор я думаю ни к чему не приведет. В данном случае столкнулся твой опыт с моим.


Глупость ты полную предлагаешь. Чего ты сравнивать собрался? Неизвестно какой сервер с неизвестно каким? Чего еще?

YL>Ну на это заявление только один вывод. Или незнание или неумение работать с Rational Purify и Rational Quantify.


На твои заявления только один вывод — или незнание или неумение работать с GC платформами.

В общем доказывать свою правоту у меня нет никакого желания. Ты спросил — тебе ответили. Не веришь — твое право. А пиписьками меряться я не буду.

YL>Мне эти ссылкочки неинтересны по одной простой причине. Пока сам не пощупаю не поверю.


Тогда чего здесь флейм разводить? Пощупай, а не спрашивай здесь. Или тебе поспорить хочется?

YL>А все очень просто. Беру С++ кусок кода и делаю замеры и NET. Вопросы отпадают.


Я вот тоже — беру кусок кода и делаю замеры. Только я еще мерю время, потраченное на отладку и доработку.

YL>Не хочу бросать камень в огород жабистов, но мне хватает инсталлятора ORACLE написаного на жабе.


Там проблемы с симантековской JVM, а не с джавой.

AVK>>Я тут как бы на текущей работе прежде всего как раз такой заказчик а не программер. Так вот — я тебе честно скажу — YL>Значит у нас тобой разные сферы применения продукта. У меня заказчикам наплевать на объемы дисков, памяти. А вот скорость — главный критерий


Очень странный заказчик. На что ему скорость? Солить что ли? И если ему скорость то накой он вобще с писюками связался?
... << RSDN@Home 1.0 beta 5 (developer build)>>
AVK Blog
Re[12]: Heap в С#
От: YuraL  
Дата: 30.01.03 11:43
Оценка:
AVK>Глупость ты полную предлагаешь. Чего ты сравнивать собрался? Неизвестно какой сервер с неизвестно каким? Чего еще?
А я тебе не сравнивать предлагаю. Во-первых я хотел бы показать тебе свое, о котором ты кричишь, что это работать не может и через неделю все остановится.
А во-вторых хотелось бы посмотреть на твое изобретение на платформе NET и какие задачи оно решает. Или я многого хочу ?
Есть у меня такое подозрение что ничего серьезного на NET не написано.
YL>>Ну на это заявление только один вывод. Или незнание или неумение работать с Rational Purify и Rational Quantify.

AVK>На твои заявления только один вывод — или незнание или неумение работать с GC платформами.

Ну это на тему — дурак, сам дурак. Skip

AVK>В общем доказывать свою правоту у меня нет никакого желания. Ты спросил — тебе ответили. Не веришь — твое право. А пиписьками меряться я не буду.


YL>>Мне эти ссылкочки неинтересны по одной простой причине. Пока сам не пощупаю не поверю.


AVK>Тогда чего здесь флейм разводить? Пощупай, а не спрашивай здесь. Или тебе поспорить хочется?


YL>>А все очень просто. Беру С++ кусок кода и делаю замеры и NET. Вопросы отпадают.


AVK>Я вот тоже — беру кусок кода и делаю замеры. Только я еще мерю время, потраченное на отладку и доработку.

К сожалению чаще происходят ошибки в логике программы. И там и там шансы равны. А то что отладочные механизмы в NET удобнее никто и не спорит.

AVK>>>Я тут как бы на текущей работе прежде всего как раз такой заказчик а не программер. Так вот — я тебе честно скажу — YL>Значит у нас тобой разные сферы применения продукта. У меня заказчикам наплевать на объемы дисков, памяти. А вот скорость — главный критерий


AVK>Очень странный заказчик. На что ему скорость? Солить что ли? И если ему скорость то накой он вобще с писюками связался?

Дело в том что заказчики, т.е. множественное число. А зачем скорость ? Да очень просто. Чем больше продал — больше заработал. Не всегда PC.

Напоследок хотелось бы еще пару слов.
За NET наверное будущее. Особенно для разработки сложных, распределенных систем. Но за надежность и удобство приходится платить. И главная плата это скорость работы. И доказывать обратное именно ошибка.
С уважением, Юрий
Re[13]: Heap в С#
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 30.01.03 11:54
Оценка:
Здравствуйте, YuraL, Вы писали:

YL>А я тебе не сравнивать предлагаю. Во-первых я хотел бы показать тебе свое, о котором ты кричишь, что это работать не может и через неделю все остановится.


Звиняй, но не сейчас. Со временем совсем абзац.

YL>А во-вторых хотелось бы посмотреть на твое изобретение на платформе NET и какие задачи оно решает. Или я многого хочу ?


Сервер на нете? На нете у меня нет того что можно показать. Есть на джаве, то его больно муторно разворачивать.

YL>Есть у меня такое подозрение что ничего серьезного на NET не написано.


В плане серверов? Нет конечно — времени совсем мало прошло. Впрочем тут тебе лучше с IT пообщаться — он у себя что то под дотнет переписал. Да, rsdn.ru тоже на нете писат. Или это по твоему несерьезно?

AVK>>Очень странный заказчик. На что ему скорость? Солить что ли? И если ему скорость то накой он вобще с писюками связался?

YL>Дело в том что заказчики, т.е. множественное число. А зачем скорость ? Да очень просто. Чем больше продал — больше заработал. Не всегда PC.

Ты полагаешь что объем продаж зависит от скорости работы сервера приложений?

YL>За NET наверное будущее. Особенно для разработки сложных, распределенных систем. Но за надежность и удобство приходится платить. И главная плата это скорость работы. И доказывать обратное именно ошибка.


Главная плата все таки не скорость а расход памяти. Скорость же более чем приемлема. Почитай статью на этом сайте про сравнение скорости платформ. Никакого подавляющего преимущества С++ обнаружено не было.
... << RSDN@Home 1.0 beta 5 (developer build)>>
AVK Blog
Re[11]: Heap в С#
От: IT Россия linq2db.com
Дата: 30.01.03 14:24
Оценка: 3 (1)
Здравствуйте, alexkro, Вы писали:

IT>>Обрати внимание на первую половину графика, выигрыш GC в 3-4 раза. Лидер (QH) — это как раз тот самый случай ручной оптимизации хипа на C++. Только вопрос какой ценой даётся это лидерство.


A>Печальный тест для GC.


Что печально? То что C++ с Win32 хипом курят?

A>QuickHeap — это, кстати, то, что очень легко получается. Такие наработки уже есть и в большом количестве.


Это легко получается в однозадачной среде, в ДОСе я и сам таким страдал. В многозадачной среде захватывать всю возможную память слишком расточительно, GC такие аппетиты даже и не снились.

IT>>У меня апп-сервера дышат ровно и вообще пышут здоровьем (тьфу-тьфу-тьфу-три-раза) С комом были проблемы, то лики, то ссылки кто-нибудь не освободит...


A>Ради экперемента понаблюдай за perf counter, который показывает время проведенное в GC, при нагруженном сервере.


Наблюдал, ничего криминального не заметил

IT>>И CString тоже на стеке, и std::string?


A>А почему бы и нет. std::string между прочем для маленьких строк в хипе память не выделяет.


А где он её выделяет? В стеке? А для совсем маленьких наверное прямо в регистрах

IT>>А документ какой-нибудь ты в него загружал?


A>Сам Word при этом отнимал 20MB, 15 из которых были в page файле.


Так ты с документом пробовал работать или нет?

IT>>Проблема у GC одна — если ты забъёшь память неиспользуемыми объектами, на которые где-то болтаются ссылки (впрочем, проблема будет не только у GC). Подобные глюки были замечены. Например на нашем сайте. ASP.NET одно время периодически перегружалась после того как пожирала неимоверное количество памяти. Оказалось, что это из-за глюка в Regex'ах. По всей видимости, где-то оставались ссылки на отработанные объекты. После соответствующей модификации кода глюки исчезли.


A>Хороший пример: memory leaks в .NET тоже возможны.


Это явный глюк. Помнишь как несколько бакспейсов, используемых в printf из ms'овской ctrl убивали любую винду наповал? Что мне теперь утверждать, что C++ вообще ацтой? Глюк, он и есть глюк.

A>Интересно узнать, а как вы все-таки обнаружили причину?


Форматирование сообщений на RSDN сделано полностью на регексах. На одно сообщение их вызывается примерно до сотни, при раскраске кода используются монстры по нескольку десятков кб. При нашей нагрузке всё стало заметно очень быстро.
Если нам не помогут, то мы тоже никого не пощадим.
Re[11]: Heap в С#
От: IT Россия linq2db.com
Дата: 30.01.03 14:26
Оценка:
Здравствуйте, MikaRSDN Soukhov, Вы писали:

IT>>....[skipped].... Например на нашем сайте. ASP.NET одно время периодически перегружалась после того как пожирала неимоверное количество памяти. Оказалось, что это из-за глюка в Regex'ах. По всей видимости, где-то оставались ссылки на отработанные объекты. После соответствующей модификации кода глюки исчезли.


MS>а можно по подробнее что за глюки такие (извините за отступ от темы)


При интенсивном использовании регексов просиходит утечка. Видимо где-то остаются ссылки на отработанные объекты. Проблема была решена тотальным выносом всех Regex объектов в статические переменные.

ЗЫ. Интересно, починили ли это в новом фреймворке?
Если нам не помогут, то мы тоже никого не пощадим.
Re[11]: Heap в С#
От: IT Россия linq2db.com
Дата: 30.01.03 14:34
Оценка:
Здравствуйте, YuraL, Вы писали:

YL>Ну на это заявление только один вывод. Или незнание или неумение работать с Rational Purify и Rational Quantify.


А зачем? У меня BoundChecker уже полгода просит лицензию обновить, да мне всё лень админа попрость, т.к. нафиг не надо.

AVK>>У меня почему то картинка обратная (да не только у меня, IT тебе ссылочку привел)


YL>Мне эти ссылкочки неинтересны по одной простой причине. Пока сам не пощупаю не поверю.

YL>А все очень просто. Беру С++ кусок кода и делаю замеры и NET. Вопросы отпадают.

А можно твои тесты в студию, а то может мы там чего откопаем?

YL>>>Заказчики не поймут и не одобрят. Мы ведь с ребятами делаем коммерческий продукт. С этого и живем.




YL>Значит у нас тобой разные сферы применения продукта. У меня заказчикам наплевать на объемы дисков, памяти. А вот скорость — главный критерий


Так воткни ещё пару процессоров в каждый сервер и будет тебе и заказчику счастье.
Если нам не помогут, то мы тоже никого не пощадим.
Re[13]: Heap в С#
От: IT Россия linq2db.com
Дата: 30.01.03 14:39
Оценка:
Здравствуйте, YuraL, Вы писали:

AVK>>Я вот тоже — беру кусок кода и делаю замеры. Только я еще мерю время, потраченное на отладку и доработку.

YL>К сожалению чаще происходят ошибки в логике программы. И там и там шансы равны.

Шансы как раз очень не равны. Разработка апп-сервера на C++/COM забирает половину времени на борьбу с последними. К глюкам в логике программы добавляются ещё глюки работы с памятью в C++ и всякие COM'оские заморочки.

AVK>>Очень странный заказчик. На что ему скорость? Солить что ли? И если ему скорость то накой он вобще с писюками связался?

YL>Дело в том что заказчики, т.е. множественное число. А зачем скорость ? Да очень просто. Чем больше продал — больше заработал. Не всегда PC.

Ты говоришь о скорости чего?
Если нам не помогут, то мы тоже никого не пощадим.
Re[12]: Heap в С#
От: Ерусов Дмитрий  
Дата: 30.01.03 14:46
Оценка:
IT>Это легко получается в однозадачной среде, в ДОСе я и сам таким страдал. В многозадачной среде захватывать всю возможную память слишком расточительно,

А что делать

IT>GC такие аппетиты даже и не снились.


А у GC аппетиты тоже не слабые, я бы так сказал.

Я думаю тут разница в подходах
МС позиционирует новую среду как среду которая избавляет
программистов от необхоимости лезть в системные дела,
заниматься разработкой КвикХеапов и прочего, но он не
говрит между прочим, что GC самый быстрый способ работать с памятью.
Не думаю я, например, что следующее поколение МС СКЛ сервера будет использовать
GC. наверняка напишут или возьмут нечто подобное QH.

Поэтому думаю, что GC по сравнению со средствами типа QH написанных на С++
никогда не выиграет по скорости.

В задачах бизнес логики GC удобнее так как все равно обработка СКЛ запроса
есть 90%(а то и более) всего времени работы объекта.
Re[12]: Heap в С#
От: YuraL  
Дата: 30.01.03 15:07
Оценка:
IT>А зачем? :xz: У меня BoundChecker уже полгода просит лицензию обновить, да мне всё лень админа попрость, т.к. нафиг не надо.
Речь не о том шла чем пользоваться.Знания конечто великая вещь. Но как пел один товарищ. "Кто-то любит шприц, кто-то любит взад". По мне неважно каким продуктом ты пользуешься. Главное чтоб было удобно. Rational ближе к Microsoft'у и уже работает с NET.

AVK>>>У меня почему то картинка обратная (да не только у меня, IT тебе ссылочку привел)


YL>>Мне эти ссылкочки неинтересны по одной простой причине. Пока сам не пощупаю не поверю.

YL>>А все очень просто. Беру С++ кусок кода и делаю замеры и NET. Вопросы отпадают.

IT>А можно твои тесты в студию, а то может мы там чего откопаем?

Вот я тут недавно Рихтера купил. И как только ознакомлюсь с этим знаменательным талмудом накропаю более извращенный тест.(Кстати много внимания он уделяет оптимизации кода, заменяя код MS на свой). И представлю публике на обозрение. И наверное буду запускать его уже под Server .NET, а не под beta framework как предыдущие.
Думаю развернется жаркая дискусия.
YL>>>>Заказчики не поймут и не одобрят. Мы ведь с ребятами делаем коммерческий продукт. С этого и живем.

IT>:)))


YL>>Значит у нас тобой разные сферы применения продукта. У меня заказчикам наплевать на объемы дисков, памяти. А вот скорость — главный критерий


IT>Так воткни ещё пару процессоров в каждый сервер и будет тебе и заказчику счастье.

Эх, если бы было так просто.
Re[13]: Heap в С#
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 30.01.03 15:11
Оценка:
Здравствуйте, Ерусов Дмитрий, Вы писали:

ЕД>Поэтому думаю, что GC по сравнению со средствами типа QH написанных на С++

ЕД>никогда не выиграет по скорости.

Мужики, меня вот удивляет почему вы хотите доказать что дотнет полный ацтой? Есть у GC недостатки, никто не спорит. Вот только не нужно говорить что он не нужен или не годится почти везде.
... << RSDN@Home 1.0 beta 5 (np: тихо) >>
AVK Blog
Re[14]: Heap в С#
От: YuraL  
Дата: 30.01.03 15:13
Оценка:
IT>Шансы как раз очень не равны. Разработка апп-сервера на C++/COM забирает половину времени на борьбу с последними. К глюкам в логике программы добавляются ещё глюки работы с памятью в C++ и всякие COM'оские заморочки.

Смотря что ты понимаешь под глюками. Если утечки памяти, то через Rational они быстро вычищаются, также тяжелые участки кода.

YL>>Дело в том что заказчики, т.е. множественное число. А зачем скорость ? Да очень просто. Чем больше продал — больше заработал. Не всегда PC.


IT>Ты говоришь о скорости чего?

О работе пользователя, время отклика на его действия.
Re[14]: Heap в С#
От: YuraL  
Дата: 30.01.03 15:18
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, Ерусов Дмитрий, Вы писали:


ЕД>>Поэтому думаю, что GC по сравнению со средствами типа QH написанных на С++

ЕД>>никогда не выиграет по скорости.

AVK>Мужики, меня вот удивляет почему вы хотите доказать что дотнет полный ацтой? Есть у GC недостатки, никто не спорит. Вот только не нужно говорить что он не нужен или не годится почти везде.


Слово это не только никто не произносил, но даже и не намекал. На сегодняшний день это лучшая вещь MS. Несмотря что она попахивает жабой, она продвинута намного больше. И на ней через 2-3 года будет писать большинство(мое мнение).
Это как с нашим Бураном. Когда он полетел многие кричали.Шатл. Но начинка то была другая.
Re[14]: Heap в С#
От: Ерусов Дмитрий  
Дата: 30.01.03 15:18
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, Ерусов Дмитрий, Вы писали:


ЕД>>Поэтому думаю, что GC по сравнению со средствами типа QH написанных на С++

ЕД>>никогда не выиграет по скорости.

AVK>Мужики, меня вот удивляет почему вы хотите доказать что дотнет полный ацтой? Есть у GC недостатки, никто не спорит. Вот только не нужно говорить что он не нужен или не годится почти везде.


Я не доказываю что это ацтой,
даже больше наоборот.
Например я только под него код и пишу
бизнес логика и ГУИ на С#
веб интерфейс на АСП.НЕТ и мне это нравится
и производительность устравивает
я же и говрю что для написания простых апп серверов(простота в смысле уровня программирования)
.НЕТ идеальна. собственно про это и говрю и МС говрит тоже самое

однако там где требуется написать что-то более сложное с точки зрения уровню программирования
например какой-нить сервер посложнее(почтовый или например ОРС ну и тп) или
какой нить контрол хитрый типа навороченного грида
то думаю тут лучшей алтернативы С++ и собственным оптимизациям нет.
Так как не может быть одна вещь на все случаи жизни, это ведь не ВП.
Re[13]: Heap в С#
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 30.01.03 15:19
Оценка:
Здравствуйте, YuraL, Вы писали:

IT>>А зачем? У меня BoundChecker уже полгода просит лицензию обновить, да мне всё лень админа попрость, т.к. нафиг не надо.

YL>Речь не о том шла чем пользоваться.Знания конечто великая вещь. Но как пел один товарищ. "Кто-то любит шприц, кто-то любит взад". По мне неважно каким продуктом ты пользуешься. Главное чтоб было удобно. Rational ближе к Microsoft'у и уже работает с NET.

Обрати внимание на выделенное

YL>Вот я тут недавно Рихтера купил. И как только ознакомлюсь с этим знаменательным талмудом накропаю более извращенный тест.(Кстати много внимания он уделяет оптимизации кода, заменяя код MS на свой). И представлю публике на обозрение. И наверное буду запускать его уже под Server .NET, а не под beta framework как предыдущие.


Так, мы оказывается тесты под бетой пускали С этого и надо было начинать.

IT>>Так воткни ещё пару процессоров в каждый сервер и будет тебе и заказчику счастье.

YL>Эх, если бы было так просто.

Для решения проблем с GC этого достаточно
... << RSDN@Home 1.0 beta 5 (np: тихо) >>
AVK Blog
Re[15]: Heap в С#
От: DarkGray Россия http://blog.metatech.ru/post/ogni-razrabotki.aspx
Дата: 30.01.03 15:26
Оценка:
Здравствуйте, YuraL, Вы писали:

YL>Смотря что ты понимаешь под глюками. Если утечки памяти, то через Rational они быстро вычищаются, также тяжелые участки кода.


Какой-то у тебя простенький сервер, если к нему нормально Rational цепляется.

Тут уже это где-то говорилось, но еще раз повторю.

Для сервера, который работает под нагрузкой, у которого бегает не один десяток потоков , ты Rational не подцепишь.

А основная проблема обычно бывает в том, что на тестовом полигоне, пока зацеплен тот же Rational, утечки нет, но как только сервер ставишь в рабочий режим и усиленно нагружаешь, так утечка появляется, причем самое плохое, если эту утечку видно только через сутки, например.
... << RSDN@Home 1.0 beta 3 >>
Re[15]: Heap в С#
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 30.01.03 15:39
Оценка:
Здравствуйте, Ерусов Дмитрий, Вы писали:

ЕД>Я не доказываю что это ацтой,

ЕД>даже больше наоборот.

Да не ты конкретно, просто регулярно вижу посты и статьи как будто само существование дотнета и то что его люди используют является личным оскорблением. Это так, лирическое отступление. Не принимай близко к сердцу .

ЕД>я же и говрю что для написания простых апп серверов(простота в смысле уровня программирования)

ЕД>.НЕТ идеальна. собственно про это и говрю и МС говрит тоже самое

А для сложных тем более.

ЕД>однако там где требуется написать что-то более сложное с точки зрения уровню программирования

ЕД>например какой-нить сервер посложнее(почтовый или например ОРС ну и тп) или
ЕД>какой нить контрол хитрый типа навороченного грида
ЕД>то думаю тут лучшей алтернативы С++ и собственным оптимизациям нет.

Не вижу чем тут дотнет не устраивает. Особенно непонятно зачем на плюсах почтовые сервера писать. На дотнете кода будет раза в три меньше, качество его выше, а производительность для почтовика нафик не сдалась.

ЕД>Так как не может быть одна вещь на все случаи жизни, это ведь не ВП.


Так никто и не говорит что на все случаи. Но вот сервера писать, особенно со сложной логикой и для большой нагрузки самое оно.
... << RSDN@Home 1.0 beta 5 (np: тихо) >>
AVK Blog
Re[16]: Heap в С#
От: YuraL  
Дата: 30.01.03 15:40
Оценка:
DG>Какой-то у тебя простенький сервер, если к нему нормально Rational цепляется.
Давай так. Я на это твое сообщение отвечаю, но на другие подобные обращать внимания не буду. Мягко говоря мы уходим от темы в разборки.
Выше я писал какие задачи он решает. Файлов .cpp в нем 2 630 000 byte в 53 файлах. Размер в release 2 834 432 byte.
Я думаю достаточно.

DG>Для сервера, который работает под нагрузкой, у которого бегает не один десяток потоков , ты Rational не подцепишь.

Это да, но это даже нецелесообразно. В моей конфигурации. Одно подключение и работа с документами выявляет все что мне нужно.

DG>А основная проблема обычно бывает в том, что на тестовом полигоне, пока зацеплен тот же Rational, утечки нет, но как только сервер ставишь в рабочий режим и усиленно нагружаешь, так утечка появляется, причем самое плохое, если эту утечку видно только через сутки, например.

Мультитредные дела вещь тонкая. Много шишек и времени потребуется чтобы разобраться.
Re[13]: Heap в С#
От: IT Россия linq2db.com
Дата: 30.01.03 15:44
Оценка:
Здравствуйте, Ерусов Дмитрий, Вы писали:

IT>>Это легко получается в однозадачной среде, в ДОСе я и сам таким страдал. В многозадачной среде захватывать всю возможную память слишком расточительно,


ЕД>А что делать


А кому щас легко?

ЕД>МС позиционирует новую среду как среду которая избавляет программистов от необхоимости лезть в системные дела, заниматься разработкой КвикХеапов и прочего, но он не говрит между прочим, что GC самый быстрый способ работать с памятью.


А этого никто и не говорит. Некоторые говорят как раз наоборот, что это самый тормозной вариаент у которого шансов нет.

ЕД>Не думаю я, например, что следующее поколение МС СКЛ сервера будет использовать GC. наверняка напишут или возьмут нечто подобное QH.


В следующем поколении MS SQL .NET будет использоваться совместно с T-SQL. И это возможно только благодаря тому, что программы работающие в CLR безопасные по определению. Т.е. убить сервер одним неверным движением ты просто не в состоянии.

ЕД>Поэтому думаю, что GC по сравнению со средствами типа QH написанных на С++ никогда не выиграет по скорости.


QH — это очень частное решение. Думаю, что как раз MS SQL на 101% состоит из таких частных решений. Это продукт, над которым годами работают одни и те же люди. На Привете ребята из SQL team как-то рассказывали почему они не используют stl, но это совсем не значит, что stl теперь вообще никому использовать не стоит.

ЕД>В задачах бизнес логики GC удобнее так как все равно обработка СКЛ запроса есть 90%(а то и более) всего времени работы объекта.


Ну наконец-то. Ну вот и славненько
Если нам не помогут, то мы тоже никого не пощадим.
Re[16]: Heap в С#
От: Ерусов Дмитрий  
Дата: 30.01.03 15:50
Оценка:
AVK>Да не ты конкретно, просто регулярно вижу посты и статьи как будто само существование дотнета и то что его люди используют является личным оскорблением. Это так, лирическое отступление. Не принимай близко к сердцу .

Дык я и не воспринимаю
Знаю что ты лирик

.NET это достаточна хорошая солянка.
Просто люди психологически боятся переходить на нее, думая что предыдущий
опыт все это прошло даром.
в общем думаю что если бы на рсдне тусовался бы нормальный психолог
он бы лучше всех объяснил почему появляется столько флеймов на эту тему

AVK>А для сложных тем более.

AVK>Не вижу чем тут дотнет не устраивает. Особенно непонятно зачем на плюсах почтовые сервера писать. На дотнете кода будет раза в три меньше, качество его выше, а производительность для почтовика нафик не сдалась.

Ну как это не важна.

Например рамблер как то одно время постоянно подвисал.
Или поисковик какой-нить, там я думаю тоже альтернатива только С++.
Ну или например какой-нить мультимедиа сервер который разруливает
потоки изображений от охранной системы по охранникам ну и тп.

AVK>Так никто и не говорит что на все случаи. Но вот сервера писать, особенно со сложной логикой и для большой нагрузки самое оно.


Сложной логикой в плане бизнес логики(там собственно не логика сложна, а запросы ). Так вот сам сервер,
который обрабатывает столь сложную логику(сервера БД) они ведь не используют GC.
Думаю там что-то свое.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.