powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Философия велосипедостроения.
25 сообщений из 88, страница 2 из 4
Философия велосипедостроения.
    #33301152
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можете считать меня старым перечником, но New Generation (у нас в Казани) пока не производит на меня сильного впечатления, но это уже похоже оффтопик
...
Рейтинг: 0 / 0
Философия велосипедостроения.
    #33301159
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что касается к примеру сборки мусора, так мы с ей нахлебались в текущем проекте. Пока не вынесли используемую .Net сборку в Out Process COM-сервер, добиться приемлемой производительности не удавалось. Именно из-за сборщика мусора. Хотя сборка мусора в нашем проекте как раз нафих была не нужна.
...
Рейтинг: 0 / 0
Философия велосипедостроения.
    #33301189
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)Что касается к примеру сборки мусора, так мы с ей нахлебались в текущем проекте. Пока не вынесли используемую .Net сборку в Out Process COM-сервер, добиться приемлемой производительности не удавалось. Именно из-за сборщика мусора. Хотя сборка мусора в нашем проекте как раз нафих была не нужна.

Если вы правильно выбрали структуру данных то проблем со сборкой
мусора быть не должно. Кстати, что за логику вам пришлось
выносить в Out Process COM-сервер, если не секрет?
...
Рейтинг: 0 / 0
Философия велосипедостроения.
    #33301239
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вы зачем инетерсуетесь ? Вы случайно не из мылиции ???
Не секрет, вынесли интерфейс к тарификатору, писанному ДРУГОЙ конторой.
Наш RADIUS
...
Рейтинг: 0 / 0
Философия велосипедостроения.
    #33301494
Фотография Сергей Ильич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, по поводу уборщика мусора: появилась Realtime подсистема для Джавы. Там есть кучи в которые уборщик мусора никогда не заходит. Куча для Immortal объектов и еще одна для refcounted объектов.
...
Рейтинг: 0 / 0
Философия велосипедостроения.
    #33302149
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivЧего ? Да С++ -- самый модульный в мире язык !! А дешевую компонентность свою оставь для Бейсика и Дельфы.
На С я могу просто делать ошибки, на С++ я могу их наследовать!
...
Рейтинг: 0 / 0
Философия велосипедостроения.
    #33302368
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Ильич
Допустим, мы в из dll экспортнем функцию LoadPlugin, которая вернет нам в виде строки символов идентификатор фичи которую она реализует и vTable.
Но это получится велосипед. И это будет довольно хрупкое решение.

Нет, это будет не велосипед, а танк !! Трактор !!! Который будет пахать.
И таких трактаров уже знаешь сколько !! И все пашут к нашей радости !!!
...
Рейтинг: 0 / 0
Философия велосипедостроения.
    #33302371
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Тогда, ИМХО, коня можно будет без жалости
пристрелить.
Да когда это еще будет !!
...
Рейтинг: 0 / 0
Философия велосипедостроения.
    #33305236
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonЕсли вы правильно выбрали структуру данных то проблем со сборкой
мусора быть не должно. Кстати, что за логику вам пришлось
выносить в Out Process COM-сервер, если не секрет?

В обчем почитал вчера книжку и выяснил в чем дело :) Начиная работу сборщик мусора ПРИОСТАНАВЛИВАЕТ ВСЕ ПОТОКИ. Для нашего приложения это реально плохо, поскольку за это время мимо кассы успевает пролететь порядка 5 пакетов (требования по времени отклика и пропускной способности очень жесткие). Решение с выносом .Net кода в OutProcess было идеальным, там оно никому не гадит.
Попутно ушла и другая байда, до выноса приложение периодически висло под отладчиком (без отладчика все работало как пулемет), перекопали все, но причину не нашли :( После выноса .Net-а это ушло и больше не появлялось :)
...
Рейтинг: 0 / 0
Философия велосипедостроения.
    #33305290
Фотография Сергей Ильич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan) maytonЕсли вы правильно выбрали структуру данных то проблем со сборкой
мусора быть не должно. Кстати, что за логику вам пришлось
выносить в Out Process COM-сервер, если не секрет?

В обчем почитал вчера книжку и выяснил в чем дело :) Начиная работу сборщик мусора ПРИОСТАНАВЛИВАЕТ ВСЕ ПОТОКИ. Для нашего приложения это реально плохо, поскольку за это время мимо кассы успевает пролететь порядка 5 пакетов (требования по времени отклика и пропускной способности очень жесткие).
Ну не знаю как в .NET, в Java можно сделать так чтобы уборщик мусора работал в фоновом режиме. Правда, в обычном режиме он дефрагментирует кучу, поэтому оператор new в Java очень быстрый - он просто кладет объект сверху, прибавляя размер объекта к указателю на топ кучи. При дефрагментации воздух из кучи выдавливается, и объекты проваливаются вниз. При работе в фоновом режиме оператор new пользуется списками свободной памяти и работает помедленнее.
...
Рейтинг: 0 / 0
Философия велосипедостроения.
    #33305472
Yossarian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то от темы малость народ отъехал. Отвечу по исходному топику.
ПОТОМУ ЧТО ГОТОВЫЕ РЕШЕНИЯ - КОШМАРНЫЙ ОТСТОЙ И ГОЛОВНАЯ БОЛЬ.

Пример.
У Микрософта в VC6.0 STL нету хеш-контейнеров. Ну нету. Не написали они.
Беру STLPORT. Трачу полдня на его подключение. Трачу еще месяц (!)
на то, чтобы посредством переписки по e-mail установить и сконфигурировать
то же самое у заказчика. Встает проблема перехода на дотнет. И что же ?
STLPORT под дотнетом НЕ-РА-БО-ТА-ЕТ !

Скажите, я что - за месяц свою реализацию хеш-контейнеров не напишу ?
Чтобы еще и под дотнет работало ?

Дальше-хуже. Понадобился мне ОДИН пакет из Boost. Повторяю - ОДИН.
Ставить приходится всю бандуру. Ставится она криво, и компилироваться
не хочет. Покрутил-покрутил и выкинул.

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

А вот под Дельфи - воткнул и оно работает. Все ! Вот поэтому дельфист
первым делом ищет готовые решения, а С++ник пишет все сам. Такой
вот Коде Реюзе получается.

Washington Irving
...
Рейтинг: 0 / 0
Философия велосипедостроения.
    #33305553
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YossarianЧто-то от темы малость народ отъехал. Отвечу по исходному топику.
ПОТОМУ ЧТО ГОТОВЫЕ РЕШЕНИЯ - КОШМАРНЫЙ ОТСТОЙ И ГОЛОВНАЯ БОЛЬ.

Пример.
У Микрософта в VC6.0 STL нету хеш-контейнеров. Ну нету. Не написали они.
Беру STLPORT. Трачу полдня на его подключение. Трачу еще месяц (!)
на то, чтобы посредством переписки по e-mail установить и сконфигурировать
то же самое у заказчика. Встает проблема перехода на дотнет. И что же ?
STLPORT под дотнетом НЕ-РА-БО-ТА-ЕТ !

Скажите, я что - за месяц свою реализацию хеш-контейнеров не напишу ?
Чтобы еще и под дотнет работало ?

Дальше-хуже. Понадобился мне ОДИН пакет из Boost. Повторяю - ОДИН.
Ставить приходится всю бандуру. Ставится она криво, и компилироваться
не хочет. Покрутил-покрутил и выкинул.

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

А вот под Дельфи - воткнул и оно работает. Все ! Вот поэтому дельфист
первым делом ищет готовые решения, а С++ник пишет все сам. Такой
вот Коде Реюзе получается.
Washington Irving
Абсолютно согласен.
...
Рейтинг: 0 / 0
Философия велосипедостроения.
    #33305638
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)
В обчем почитал вчера книжку и выяснил в чем дело :) Начиная работу сборщик мусора ПРИОСТАНАВЛИВАЕТ ВСЕ ПОТОКИ. Для нашего приложения это реально плохо, поскольку за это время мимо кассы успевает пролететь порядка 5 пакетов (требования по времени отклика и пропускной способности очень жесткие). Решение с выносом .Net кода в OutProcess было идеальным, там оно никому не гадит.
Попутно ушла и другая байда, до выноса приложение периодически висло под отладчиком (без отладчика все работало как пулемет), перекопали все, но причину не нашли :( После выноса .Net-а это ушло и больше не появлялось :)


Я идеологически поддерживаю раздел нативного и кросс-переносимого
кода в том случае, если речь идет о distributed-взаимодействии. В вашем-
же случае вы теряете преимущество .net перед другими технологиями.

По поводу сбора мусора. У насбыла обратная ситуация, когда мощная система эл. документооборота, написаная на C++ (с использованием умных указателей) подтормаживала систему. Миграция кода под С#.net не изменила саму проблему сбора мусора, однако позволила смягчить режим работы авто-поинтеров и сделать его отложенным. Субьективно система заработала на 20% быстрее за счет более благоприятного распределения операций free() во времени.
...
Рейтинг: 0 / 0
Философия велосипедостроения.
    #33305671
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonЯ идеологически поддерживаю раздел нативного и кросс-переносимого
кода в том случае, если речь идет о distributed-взаимодействии. В вашем-
же случае вы теряете преимущество .net перед другими технологиями.


Нам и не нужно было "преимущество" Нам нужно было прикрутить НАВЯЗАННЫЙ нам .Net код к своему проекту. За свою часть мы отвечаем головой, с чужим кодом все сложнее :( Вынос .Net ПОЛНОСТЬЮ решил проблему, тема закрыта :)

IMHO .Net не предназначен для разработки приложений с гарантированным временем отклика и все "преимущества" при таком раскладе идут лесом.
...
Рейтинг: 0 / 0
Философия велосипедостроения.
    #33305710
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторIMHO .Net не предназначен для разработки приложений с гарантированным временем отклика и все "преимущества" при таком раскладе идут лесом.
Просвети фразу.... т.е. .Net не предназначен для разработки приложений на одной машине - (не распределённое/DCOM)?
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
Философия велосипедостроения.
    #33305777
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)
IMHO .Net не предназначен для разработки приложений с гарантированным временем отклика и все "преимущества" при таком раскладе идут лесом.


Здесь согласен. Более того. Я неоднократно говорил в форуме
о том, что dotnet не годится для разработки ядер систем и движков
БД. Однако на ниве прикладных разработок бизнес-уровня он
имеет место.

Гарантированное время отклика не могут гарантировать даже
ОС, которые мы использует повсеместно. Ни линейка WindowsNT
ни семейство *nix-ов по определению не являются осями реального
времени. Такова специфика их мультизадачности. Реально только QNX
и еще ряд систем (не помню названия к сожалению) попадают в этот
сектор.
...
Рейтинг: 0 / 0
Философия велосипедостроения.
    #33305835
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123 авторIMHO .Net не предназначен для разработки приложений с гарантированным временем отклика и все "преимущества" при таком раскладе идут лесом.
Просвети фразу.... т.е. .Net не предназначен для разработки приложений на одной машине - (не распределённое/DCOM)?


Вы читать умеете ?
...
Рейтинг: 0 / 0
Философия велосипедостроения.
    #33305844
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton Gluk (Kazan)
IMHO .Net не предназначен для разработки приложений с гарантированным временем отклика и все "преимущества" при таком раскладе идут лесом.


Здесь согласен. Более того. Я неоднократно говорил в форуме
о том, что dotnet не годится для разработки ядер систем и движков
БД. Однако на ниве прикладных разработок бизнес-уровня он
имеет место.

Гарантированное время отклика не могут гарантировать даже
ОС, которые мы использует повсеместно. Ни линейка WindowsNT
ни семейство *nix-ов по определению не являются осями реального
времени. Такова специфика их мультизадачности. Реально только QNX
и еще ряд систем (не помню названия к сожалению) попадают в этот
сектор.

Ну ГАРАНТИРОВАННОГО времени отклика у нас на Windows разумеется нет, но подобное поведение .Net непренужденно завалило бы нам сдачу проекта. Периодические потери 5-10 пакетов, это не то чего ждут от RADIUS. Пакеты приходят с интервалом 1мс и в это время мы должны были кровь из носу уложиться. И уложились
...
Рейтинг: 0 / 0
Философия велосипедостроения.
    #33305905
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разумеется 1мс - пиковая нагрузка, нормальная ~20 мс. Нам нужна была система с настолько гарантированным временем отклика, насколько это возможно на Windows и с хорошей пропускной способностью.
...
Рейтинг: 0 / 0
Философия велосипедостроения.
    #33305917
Фотография Сергей Ильич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YossarianЧто-то от темы малость народ отъехал. Отвечу по исходному топику.
ПОТОМУ ЧТО ГОТОВЫЕ РЕШЕНИЯ - КОШМАРНЫЙ ОТСТОЙ И ГОЛОВНАЯ БОЛЬ.

Пример.
У Микрософта в VC6.0 STL нету хеш-контейнеров. Ну нету. Не написали они.
Беру STLPORT. Трачу полдня на его подключение. Трачу еще месяц (!)
на то, чтобы посредством переписки по e-mail установить и сконфигурировать
то же самое у заказчика.

Дык Вы заказчику отдаете инсталлятор с бинарью или же заставляете его все это собирать?
Можно вместо ассоциативных массивов использовать наследник от std::vector< std::pair<KeyType,ValueType> > который при вставке его сортирует по ключу. А искать - бинарным поиском. Работать будет быстрее хеш-массива и фрагментировать кучу поменьше.
Кроме того, в дельфе хешей тоже нет. И из-за отсутствия шаблонов полный аналог сделать нельзя.

hash_map не входит в стандарт С++, а вам об этом было известно.

Yossarian
Ставить приходится всю бандуру. Ставится она криво, и компилироваться
не хочет. Покрутил-покрутил и выкинул.

Ну, вообще я сам с буст дело не имею, так что добавить нечего.

Yossarian
Скажите, у кого не было проблем с установкой сторонних пакетов под С++
и я скажу кто ничего серьезного не писал.

А вот под Дельфи - воткнул и оно работает. Все ! Вот поэтому дельфист
первым делом ищет готовые решения, а С++ник пишет все сам. Такой
вот Коде Реюзе получается.

Я, напимер, никаких велоспедов не изобретаю и не пишу тривиальных вещй сам. Не то чтобы я фанат С++ (скорее наоборот), но в C++ я имею те средства которые мне нужны.
Оттого что средний дегенерат не понимает зачем нужно множественное наследование, функционал который оно дает нужен и при его отсутствии надо искать обходные пути.
...
Рейтинг: 0 / 0
Философия велосипедостроения.
    #33305925
Фотография Сергей Ильич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вместо Оттого что надо было написать несмотря на то что
...
Рейтинг: 0 / 0
Философия велосипедостроения.
    #33306003
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Ильич
Можно вместо ассоциативных массивов использовать наследник от std::vector< std::pair<KeyType,ValueType> > который при вставке его сортирует по ключу. А искать - бинарным поиском. Работать будет быстрее хеш-массива и фрагментировать кучу поменьше.


Хм.. не согласен с фразой работать будет быстрее хеш-массива .
Имеются в виду частные случаи?
...
Рейтинг: 0 / 0
Философия велосипедостроения.
    #33306025
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan) Petro123 авторIMHO .Net не предназначен для разработки приложений с гарантированным временем отклика и все "преимущества" при таком раскладе идут лесом.
Просвети фразу.... т.е. .Net не предназначен для разработки приложений на одной машине - (не распределённое/DCOM)?

Вы читать умеете ?
))) я скорее практик чем теоретик - теории не хватает, к сожалению.
Удачи!
...
Рейтинг: 0 / 0
Философия велосипедостроения.
    #33306129
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я нервно реагирую, когда мне пытаются приписать то чего я НЕ ГОВОРИЛ, делая какие-то запредельные логические выводы.
Я то-же практик.

P.S. И Вам того-же
P.P.S. Вдвойне
...
Рейтинг: 0 / 0
Философия велосипедостроения.
    #33306467
Фотография Сергей Ильич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton Сергей Ильич
Можно вместо ассоциативных массивов использовать наследник от std::vector< std::pair<KeyType,ValueType> > который при вставке его сортирует по ключу. А искать - бинарным поиском. Работать будет быстрее хеш-массива и фрагментировать кучу поменьше.


Хм.. не согласен с фразой работать будет быстрее хеш-массива .
Имеются в виду частные случаи?
К сожалению, я не сталкивался с задачами где негарантированное константное время хоть как-то по перформансу опережало гарантированное логарифмическое. Может быть, в этом мой пробел.
...
Рейтинг: 0 / 0
25 сообщений из 88, страница 2 из 4
Форумы / C++ [игнор отключен] [закрыт для гостей] / Философия велосипедостроения.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]