|
|
|
Философия велосипедостроения.
|
|||
|---|---|---|---|
|
#18+
Можете считать меня старым перечником, но New Generation (у нас в Казани) пока не производит на меня сильного впечатления, но это уже похоже оффтопик ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2005, 12:59 |
|
||
|
Философия велосипедостроения.
|
|||
|---|---|---|---|
|
#18+
Что касается к примеру сборки мусора, так мы с ей нахлебались в текущем проекте. Пока не вынесли используемую .Net сборку в Out Process COM-сервер, добиться приемлемой производительности не удавалось. Именно из-за сборщика мусора. Хотя сборка мусора в нашем проекте как раз нафих была не нужна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2005, 13:01 |
|
||
|
Философия велосипедостроения.
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)Что касается к примеру сборки мусора, так мы с ей нахлебались в текущем проекте. Пока не вынесли используемую .Net сборку в Out Process COM-сервер, добиться приемлемой производительности не удавалось. Именно из-за сборщика мусора. Хотя сборка мусора в нашем проекте как раз нафих была не нужна. Если вы правильно выбрали структуру данных то проблем со сборкой мусора быть не должно. Кстати, что за логику вам пришлось выносить в Out Process COM-сервер, если не секрет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2005, 13:08 |
|
||
|
Философия велосипедостроения.
|
|||
|---|---|---|---|
|
#18+
А вы зачем инетерсуетесь ? Вы случайно не из мылиции ??? Не секрет, вынесли интерфейс к тарификатору, писанному ДРУГОЙ конторой. Наш RADIUS ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2005, 13:23 |
|
||
|
Философия велосипедостроения.
|
|||
|---|---|---|---|
|
#18+
Кстати, по поводу уборщика мусора: появилась Realtime подсистема для Джавы. Там есть кучи в которые уборщик мусора никогда не заходит. Куча для Immortal объектов и еще одна для refcounted объектов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2005, 14:54 |
|
||
|
Философия велосипедостроения.
|
|||
|---|---|---|---|
|
#18+
MasterZivЧего ? Да С++ -- самый модульный в мире язык !! А дешевую компонентность свою оставь для Бейсика и Дельфы. На С я могу просто делать ошибки, на С++ я могу их наследовать! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2005, 18:15 |
|
||
|
Философия велосипедостроения.
|
|||
|---|---|---|---|
|
#18+
Сергей Ильич Допустим, мы в из dll экспортнем функцию LoadPlugin, которая вернет нам в виде строки символов идентификатор фичи которую она реализует и vTable. Но это получится велосипед. И это будет довольно хрупкое решение. Нет, это будет не велосипед, а танк !! Трактор !!! Который будет пахать. И таких трактаров уже знаешь сколько !! И все пашут к нашей радости !!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2005, 20:15 |
|
||
|
Философия велосипедостроения.
|
|||
|---|---|---|---|
|
#18+
mayton Тогда, ИМХО, коня можно будет без жалости пристрелить. Да когда это еще будет !! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2005, 20:17 |
|
||
|
Философия велосипедостроения.
|
|||
|---|---|---|---|
|
#18+
maytonЕсли вы правильно выбрали структуру данных то проблем со сборкой мусора быть не должно. Кстати, что за логику вам пришлось выносить в Out Process COM-сервер, если не секрет? В обчем почитал вчера книжку и выяснил в чем дело :) Начиная работу сборщик мусора ПРИОСТАНАВЛИВАЕТ ВСЕ ПОТОКИ. Для нашего приложения это реально плохо, поскольку за это время мимо кассы успевает пролететь порядка 5 пакетов (требования по времени отклика и пропускной способности очень жесткие). Решение с выносом .Net кода в OutProcess было идеальным, там оно никому не гадит. Попутно ушла и другая байда, до выноса приложение периодически висло под отладчиком (без отладчика все работало как пулемет), перекопали все, но причину не нашли :( После выноса .Net-а это ушло и больше не появлялось :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2005, 09:08 |
|
||
|
Философия велосипедостроения.
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) maytonЕсли вы правильно выбрали структуру данных то проблем со сборкой мусора быть не должно. Кстати, что за логику вам пришлось выносить в Out Process COM-сервер, если не секрет? В обчем почитал вчера книжку и выяснил в чем дело :) Начиная работу сборщик мусора ПРИОСТАНАВЛИВАЕТ ВСЕ ПОТОКИ. Для нашего приложения это реально плохо, поскольку за это время мимо кассы успевает пролететь порядка 5 пакетов (требования по времени отклика и пропускной способности очень жесткие). Ну не знаю как в .NET, в Java можно сделать так чтобы уборщик мусора работал в фоновом режиме. Правда, в обычном режиме он дефрагментирует кучу, поэтому оператор new в Java очень быстрый - он просто кладет объект сверху, прибавляя размер объекта к указателю на топ кучи. При дефрагментации воздух из кучи выдавливается, и объекты проваливаются вниз. При работе в фоновом режиме оператор new пользуется списками свободной памяти и работает помедленнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2005, 09:37 |
|
||
|
Философия велосипедостроения.
|
|||
|---|---|---|---|
|
#18+
Что-то от темы малость народ отъехал. Отвечу по исходному топику. ПОТОМУ ЧТО ГОТОВЫЕ РЕШЕНИЯ - КОШМАРНЫЙ ОТСТОЙ И ГОЛОВНАЯ БОЛЬ. Пример. У Микрософта в VC6.0 STL нету хеш-контейнеров. Ну нету. Не написали они. Беру STLPORT. Трачу полдня на его подключение. Трачу еще месяц (!) на то, чтобы посредством переписки по e-mail установить и сконфигурировать то же самое у заказчика. Встает проблема перехода на дотнет. И что же ? STLPORT под дотнетом НЕ-РА-БО-ТА-ЕТ ! Скажите, я что - за месяц свою реализацию хеш-контейнеров не напишу ? Чтобы еще и под дотнет работало ? Дальше-хуже. Понадобился мне ОДИН пакет из Boost. Повторяю - ОДИН. Ставить приходится всю бандуру. Ставится она криво, и компилироваться не хочет. Покрутил-покрутил и выкинул. Скажите, у кого не было проблем с установкой сторонних пакетов под С++ и я скажу кто ничего серьезного не писал. А вот под Дельфи - воткнул и оно работает. Все ! Вот поэтому дельфист первым делом ищет готовые решения, а С++ник пишет все сам. Такой вот Коде Реюзе получается. Washington Irving ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2005, 10:36 |
|
||
|
Философия велосипедостроения.
|
|||
|---|---|---|---|
|
#18+
YossarianЧто-то от темы малость народ отъехал. Отвечу по исходному топику. ПОТОМУ ЧТО ГОТОВЫЕ РЕШЕНИЯ - КОШМАРНЫЙ ОТСТОЙ И ГОЛОВНАЯ БОЛЬ. Пример. У Микрософта в VC6.0 STL нету хеш-контейнеров. Ну нету. Не написали они. Беру STLPORT. Трачу полдня на его подключение. Трачу еще месяц (!) на то, чтобы посредством переписки по e-mail установить и сконфигурировать то же самое у заказчика. Встает проблема перехода на дотнет. И что же ? STLPORT под дотнетом НЕ-РА-БО-ТА-ЕТ ! Скажите, я что - за месяц свою реализацию хеш-контейнеров не напишу ? Чтобы еще и под дотнет работало ? Дальше-хуже. Понадобился мне ОДИН пакет из Boost. Повторяю - ОДИН. Ставить приходится всю бандуру. Ставится она криво, и компилироваться не хочет. Покрутил-покрутил и выкинул. Скажите, у кого не было проблем с установкой сторонних пакетов под С++ и я скажу кто ничего серьезного не писал. А вот под Дельфи - воткнул и оно работает. Все ! Вот поэтому дельфист первым делом ищет готовые решения, а С++ник пишет все сам. Такой вот Коде Реюзе получается. Washington Irving Абсолютно согласен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2005, 10:58 |
|
||
|
Философия велосипедостроения.
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) В обчем почитал вчера книжку и выяснил в чем дело :) Начиная работу сборщик мусора ПРИОСТАНАВЛИВАЕТ ВСЕ ПОТОКИ. Для нашего приложения это реально плохо, поскольку за это время мимо кассы успевает пролететь порядка 5 пакетов (требования по времени отклика и пропускной способности очень жесткие). Решение с выносом .Net кода в OutProcess было идеальным, там оно никому не гадит. Попутно ушла и другая байда, до выноса приложение периодически висло под отладчиком (без отладчика все работало как пулемет), перекопали все, но причину не нашли :( После выноса .Net-а это ушло и больше не появлялось :) Я идеологически поддерживаю раздел нативного и кросс-переносимого кода в том случае, если речь идет о distributed-взаимодействии. В вашем- же случае вы теряете преимущество .net перед другими технологиями. По поводу сбора мусора. У насбыла обратная ситуация, когда мощная система эл. документооборота, написаная на C++ (с использованием умных указателей) подтормаживала систему. Миграция кода под С#.net не изменила саму проблему сбора мусора, однако позволила смягчить режим работы авто-поинтеров и сделать его отложенным. Субьективно система заработала на 20% быстрее за счет более благоприятного распределения операций free() во времени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2005, 11:14 |
|
||
|
Философия велосипедостроения.
|
|||
|---|---|---|---|
|
#18+
maytonЯ идеологически поддерживаю раздел нативного и кросс-переносимого кода в том случае, если речь идет о distributed-взаимодействии. В вашем- же случае вы теряете преимущество .net перед другими технологиями. Нам и не нужно было "преимущество" Нам нужно было прикрутить НАВЯЗАННЫЙ нам .Net код к своему проекту. За свою часть мы отвечаем головой, с чужим кодом все сложнее :( Вынос .Net ПОЛНОСТЬЮ решил проблему, тема закрыта :) IMHO .Net не предназначен для разработки приложений с гарантированным временем отклика и все "преимущества" при таком раскладе идут лесом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2005, 11:19 |
|
||
|
Философия велосипедостроения.
|
|||
|---|---|---|---|
|
#18+
авторIMHO .Net не предназначен для разработки приложений с гарантированным временем отклика и все "преимущества" при таком раскладе идут лесом. Просвети фразу.... т.е. .Net не предназначен для разработки приложений на одной машине - (не распределённое/DCOM)? ______________________________________________ Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2005, 11:28 |
|
||
|
Философия велосипедостроения.
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) IMHO .Net не предназначен для разработки приложений с гарантированным временем отклика и все "преимущества" при таком раскладе идут лесом. Здесь согласен. Более того. Я неоднократно говорил в форуме о том, что dotnet не годится для разработки ядер систем и движков БД. Однако на ниве прикладных разработок бизнес-уровня он имеет место. Гарантированное время отклика не могут гарантировать даже ОС, которые мы использует повсеместно. Ни линейка WindowsNT ни семейство *nix-ов по определению не являются осями реального времени. Такова специфика их мультизадачности. Реально только QNX и еще ряд систем (не помню названия к сожалению) попадают в этот сектор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2005, 11:39 |
|
||
|
Философия велосипедостроения.
|
|||
|---|---|---|---|
|
#18+
Petro123 авторIMHO .Net не предназначен для разработки приложений с гарантированным временем отклика и все "преимущества" при таком раскладе идут лесом. Просвети фразу.... т.е. .Net не предназначен для разработки приложений на одной машине - (не распределённое/DCOM)? Вы читать умеете ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2005, 11:51 |
|
||
|
Философия велосипедостроения.
|
|||
|---|---|---|---|
|
#18+
mayton Gluk (Kazan) IMHO .Net не предназначен для разработки приложений с гарантированным временем отклика и все "преимущества" при таком раскладе идут лесом. Здесь согласен. Более того. Я неоднократно говорил в форуме о том, что dotnet не годится для разработки ядер систем и движков БД. Однако на ниве прикладных разработок бизнес-уровня он имеет место. Гарантированное время отклика не могут гарантировать даже ОС, которые мы использует повсеместно. Ни линейка WindowsNT ни семейство *nix-ов по определению не являются осями реального времени. Такова специфика их мультизадачности. Реально только QNX и еще ряд систем (не помню названия к сожалению) попадают в этот сектор. Ну ГАРАНТИРОВАННОГО времени отклика у нас на Windows разумеется нет, но подобное поведение .Net непренужденно завалило бы нам сдачу проекта. Периодические потери 5-10 пакетов, это не то чего ждут от RADIUS. Пакеты приходят с интервалом 1мс и в это время мы должны были кровь из носу уложиться. И уложились ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2005, 11:54 |
|
||
|
Философия велосипедостроения.
|
|||
|---|---|---|---|
|
#18+
Разумеется 1мс - пиковая нагрузка, нормальная ~20 мс. Нам нужна была система с настолько гарантированным временем отклика, насколько это возможно на Windows и с хорошей пропускной способностью. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2005, 12:07 |
|
||
|
Философия велосипедостроения.
|
|||
|---|---|---|---|
|
#18+
YossarianЧто-то от темы малость народ отъехал. Отвечу по исходному топику. ПОТОМУ ЧТО ГОТОВЫЕ РЕШЕНИЯ - КОШМАРНЫЙ ОТСТОЙ И ГОЛОВНАЯ БОЛЬ. Пример. У Микрософта в VC6.0 STL нету хеш-контейнеров. Ну нету. Не написали они. Беру STLPORT. Трачу полдня на его подключение. Трачу еще месяц (!) на то, чтобы посредством переписки по e-mail установить и сконфигурировать то же самое у заказчика. Дык Вы заказчику отдаете инсталлятор с бинарью или же заставляете его все это собирать? Можно вместо ассоциативных массивов использовать наследник от std::vector< std::pair<KeyType,ValueType> > который при вставке его сортирует по ключу. А искать - бинарным поиском. Работать будет быстрее хеш-массива и фрагментировать кучу поменьше. Кроме того, в дельфе хешей тоже нет. И из-за отсутствия шаблонов полный аналог сделать нельзя. hash_map не входит в стандарт С++, а вам об этом было известно. Yossarian Ставить приходится всю бандуру. Ставится она криво, и компилироваться не хочет. Покрутил-покрутил и выкинул. Ну, вообще я сам с буст дело не имею, так что добавить нечего. Yossarian Скажите, у кого не было проблем с установкой сторонних пакетов под С++ и я скажу кто ничего серьезного не писал. А вот под Дельфи - воткнул и оно работает. Все ! Вот поэтому дельфист первым делом ищет готовые решения, а С++ник пишет все сам. Такой вот Коде Реюзе получается. Я, напимер, никаких велоспедов не изобретаю и не пишу тривиальных вещй сам. Не то чтобы я фанат С++ (скорее наоборот), но в C++ я имею те средства которые мне нужны. Оттого что средний дегенерат не понимает зачем нужно множественное наследование, функционал который оно дает нужен и при его отсутствии надо искать обходные пути. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2005, 12:09 |
|
||
|
Философия велосипедостроения.
|
|||
|---|---|---|---|
|
#18+
Вместо Оттого что надо было написать несмотря на то что ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2005, 12:11 |
|
||
|
Философия велосипедостроения.
|
|||
|---|---|---|---|
|
#18+
Сергей Ильич Можно вместо ассоциативных массивов использовать наследник от std::vector< std::pair<KeyType,ValueType> > который при вставке его сортирует по ключу. А искать - бинарным поиском. Работать будет быстрее хеш-массива и фрагментировать кучу поменьше. Хм.. не согласен с фразой работать будет быстрее хеш-массива . Имеются в виду частные случаи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2005, 12:31 |
|
||
|
Философия велосипедостроения.
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) Petro123 авторIMHO .Net не предназначен для разработки приложений с гарантированным временем отклика и все "преимущества" при таком раскладе идут лесом. Просвети фразу.... т.е. .Net не предназначен для разработки приложений на одной машине - (не распределённое/DCOM)? Вы читать умеете ? ))) я скорее практик чем теоретик - теории не хватает, к сожалению. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2005, 12:39 |
|
||
|
Философия велосипедостроения.
|
|||
|---|---|---|---|
|
#18+
Я нервно реагирую, когда мне пытаются приписать то чего я НЕ ГОВОРИЛ, делая какие-то запредельные логические выводы. Я то-же практик. P.S. И Вам того-же P.P.S. Вдвойне ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2005, 13:09 |
|
||
|
Философия велосипедостроения.
|
|||
|---|---|---|---|
|
#18+
mayton Сергей Ильич Можно вместо ассоциативных массивов использовать наследник от std::vector< std::pair<KeyType,ValueType> > который при вставке его сортирует по ключу. А искать - бинарным поиском. Работать будет быстрее хеш-массива и фрагментировать кучу поменьше. Хм.. не согласен с фразой работать будет быстрее хеш-массива . Имеются в виду частные случаи? К сожалению, я не сталкивался с задачами где негарантированное константное время хоть как-то по перформансу опережало гарантированное логарифмическое. Может быть, в этом мой пробел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2005, 14:42 |
|
||
|
|

start [/forum/topic.php?fid=57&startmsg=33301152&tid=2032631]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
82ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 245ms |
| total: | 433ms |

| 0 / 0 |
