Информация об изменениях

Сообщение Re[17]: dotnet vs java 2016-2020 от 11.10.2016 12:28

Изменено 11.10.2016 12:31 vdimas

Здравствуйте, ·, Вы писали:

V>>·>Давай что-то типа биржи или Order Management System, Smart Order Router и т.п.

V>>- и еще десяток, работающих исключительно на нейтивном OMnet и являющихся исключительно нейтивными.
·>Что за нейтив? Я спрашиваю о системах написанных на .net.

Ты только что сказал о системах, написанных на джаве. А я тебе возразил, что крупнейшие биржи исключительно нейтивные.
А если кто-то на жабке пишет себе клиента к этим биржам, то что ж... примите мои соболезнования...
Дышать выхлопом от конкурентов — дело сугубо добровольное.

Кароч, у нас полно клиентов, у которых вся их логика нейтивная поверх наших либ.
Хотя есть и такие, которые дёргают скрипты в колбэках.
Ну это кто на что учился.
Если грамотно сделать инфраструктуру и юзать надежные либы С++, то поддерживать "живой" плюсовый код, т.е. постоянно изменяющийся наподобие скриптового, — можно и нужно. Т.е. захардкодили некую стратегию — компильнули, подключили либу в систему. Надо что-то изменить — опять подправили, компильнули и зарегали вместо предыдущей.

Я не спорю, что приседаний может быть чуть больше, особенно на эта отладки такой инфраструктуры. Но это же, во-первых, одноразовая работы, а во-вторых, оно является тем самым ноу-хау, которое даёт преимущество перед конкурентами на скриптах и джаве.

И да, в дотнетной версии слой сетки/потоков и синхронизации нейтивный, верно!
Все так делают, мы что, должны сливать всем? ))


V>>А что тут может дать Джава, если именно в Джава отобрали интсрумент управления потоковой моделью, оно там всё декларативно через synchronized?

·>Какой ещё synchronized? Он же медленный и латенси жуть. дизраптор же.

Ну я не сильный спец в жабке, но верю нашим ребятам, сделавшим намбер ван джавовский FIX-движок в мире, что они выжали максимум.
Были бы пятые какие-нить, тоже верил бы, кста, бо это всё еще топ. ))


V>>Т.е., грамотный софт пишут так, чтобы не создавать объекты первого поколения, т.е. все данные делятся на ровно две группы — которые один раз выделили в начале работы программы (они сидят "навечно" с максимально низкой косвенностью), или которые живут буквально в один колбэк. Получаем только 0-е и 2-е поколение и наше вам с кисточкой.

·>Т.е. гц гарантированно (чем?) не происходит вообще или не происходит во время "забега"?

Постоянно происходит GC для нулевого поколения в отдельном потоке без блокирования рабочих потоков, и оно само по себе сверхдешевое в дотнете в итоге.

Для дотнета самая ж-па — это развесистый граф первого поколения. Просто надо помнить об этом.


V>>(Для очень редких сценариев используются еще пулы объектов, тоже кое-где даёт профит, пока не доходят руки и не исправляется принципиальная кривизна в этом месте, т.е. не отделяются маложивущее от долгоживущего)

·>Т.е. не дай бог случайно ГЦ запустится — и упс.

ГЦ и так постоянно работает, о чём ты?


·>Вот с zing такой проблемы нет. Конечно, количество мусора минимизируется, но даже если он и случается несколько раз в день — ничего страшного.


Ну вот аналогично, если не плодить объекты первого поколения, то дотнетный сервак может несколько дней жить без полной пересборки мусора.
Но это не относится к ASP.Net, кста, там всё грустно с их индусокодом. ))

Но самописные серваки таким макаром писать можно. Только нужно держать в памяти особенности дотнета.
Но это для любой технологии верно.
Re[17]: dotnet vs java 2016-2020
Здравствуйте, ·, Вы писали:

V>>·>Давай что-то типа биржи или Order Management System, Smart Order Router и т.п.

V>>- и еще десяток, работающих исключительно на нейтивном OMnet и являющихся исключительно нейтивными.
·>Что за нейтив? Я спрашиваю о системах написанных на .net.

Ты только что сказал о системах, написанных на джаве. А я тебе возразил, что крупнейшие биржи исключительно нейтивные.
А если кто-то на жабке пишет себе клиента к этим биржам, то что ж... примите мои соболезнования...
Дышать выхлопом от конкурентов — дело сугубо добровольное.

Кароч, у нас полно клиентов, у которых вся их логика нейтивная поверх наших либ.
Хотя есть и такие, которые дёргают скрипты в колбэках.
Ну это кто на что учился.
Если грамотно сделать инфраструктуру и юзать надежные либы С++, то поддерживать "живой" плюсовый код, т.е. постоянно изменяющийся наподобие скриптового, — можно и нужно. Т.е. захардкодили некую стратегию — компильнули, подключили либу в систему. Надо что-то изменить — опять подправили, компильнули и зарегали вместо предыдущей.

Я не спорю, что приседаний может быть чуть больше, особенно на эта отладки такой инфраструктуры. Но это же, во-первых, одноразовая работа, а во-вторых, оно является тем самым ноу-хау, которое даёт преимущество перед конкурентами, сидящими на скриптах и джаве.

И да, в дотнетной версии слой сетки/потоков и синхронизации нейтивный, верно!
Все так делают, мы что, должны сливать всем? ))


V>>А что тут может дать Джава, если именно в Джава отобрали интсрумент управления потоковой моделью, оно там всё декларативно через synchronized?

·>Какой ещё synchronized? Он же медленный и латенси жуть. дизраптор же.

Ну я не сильный спец в жабке, но верю нашим ребятам, сделавшим намбер ван джавовский FIX-движок в мире, что они выжали максимум.
Были бы пятые какие-нить, тоже верил бы, кста, бо это всё еще топ. ))


V>>Т.е., грамотный софт пишут так, чтобы не создавать объекты первого поколения, т.е. все данные делятся на ровно две группы — которые один раз выделили в начале работы программы (они сидят "навечно" с максимально низкой косвенностью), или которые живут буквально в один колбэк. Получаем только 0-е и 2-е поколение и наше вам с кисточкой.

·>Т.е. гц гарантированно (чем?) не происходит вообще или не происходит во время "забега"?

Постоянно происходит GC для нулевого поколения в отдельном потоке без блокирования рабочих потоков, и оно само по себе сверхдешевое в дотнете в итоге.

Для дотнета самая ж-па — это развесистый граф первого поколения. Просто надо помнить об этом.


V>>(Для очень редких сценариев используются еще пулы объектов, тоже кое-где даёт профит, пока не доходят руки и не исправляется принципиальная кривизна в этом месте, т.е. не отделяются маложивущее от долгоживущего)

·>Т.е. не дай бог случайно ГЦ запустится — и упс.

ГЦ и так постоянно работает, о чём ты?


·>Вот с zing такой проблемы нет. Конечно, количество мусора минимизируется, но даже если он и случается несколько раз в день — ничего страшного.


Ну вот аналогично, если не плодить объекты первого поколения, то дотнетный сервак может несколько дней жить без полной пересборки мусора.
Но это не относится к ASP.Net, кста, там всё грустно с их индусокодом. ))

Но самописные серваки таким макаром писать можно. Только нужно держать в памяти особенности дотнета.
Но это для любой технологии верно.