Здравствуйте, lpc, Вы писали:
M>>А был смысл так извращаться? Требования делали нежелательными даже minor GC?
lpc>Требование — zero GC.
Очень интересно. Значит пулы примитивов. Хорошо, строим на них аналоги malloc/free. Остается вопрос о том, как построен менеджер памяти и как ведутся списки (или другие структуры?) свободных блоков. Впрочем, если делать линейный поиск, то можно и без списков обойтись
Здравствуйте, lpc, Вы писали:
M>>А был смысл так извращаться? Требования делали нежелательными даже minor GC? lpc>Требование — zero GC.
Писали бы уже на плюсах. Жаба тут нафиг не нужна, только мешать будет.
Здравствуйте, Олег К., Вы писали:
ОК>Кто еще может соперничать с финансовой индустрией по зарплатам? Впрочем я тебя ничуть не агитирую. Если тебе нравится какая-то область и платят там чтобы не задумываться о деньгах — то почему бы и нет?
Я приехал сюда не за зарплатой (точнее, далеко не только за ней)...
M>Чорт! Похоже вблизи черной дыры замер производился, там где скорость света только 30.000 км/ч
Может и так, не проверял.
Но если головой подумать, и вспомнить, что есть Ethernet, как он работает, и сколько это, 128 байт payload (+накладные расходы ethernet), клоунаду можно было бы и не устраивать.
P>Это время от первого до последниго байта в одном пакете- чем больше длина кабеля, тем больше сопротивление ? Сколько Ом сопротивление у короткого кабеля и у длинного? Или здесь что-то другое
Это замер времени round-trip time, от машины А -> B -> A. Результаты проверены многократно. Напоминаю, скорость распространения электромагнитного сигнала — конечна. В частности, за 1 нс. свет может преодолеть ориентировочно 30 см.. (как раз 0.3 м).
lpc>Да, делаем полный pre-allocation и все храним в большом массиве байтов (в реальности массив не один а много, и не только байтов а еще и шортов, интов, лонгов). Чем то похоже на программирование на С, но ООП тоже как ни странно присутствует. Небольшой тюнинг JVM тоже делается. Самое сложное что при таком подходе нельзя использовать никакие (стандартные) библиотеки, даже коллекции, поэтому нам пришлось написать все свое.
Вот я про что и писал — все можно сделать на Java (мне язык сам очень нравится, я на нем несколько проектов сделал, в т.ч. под Андроид), но тогда от большинства плюшек оной Java придется отказаться. Вот и зачем мне это счастье, чтоб сложнее было disasm смотреть? Спасибо, кушайте сами.
lpc>- Далеко не все части системы требуют подсчета наносекунд и их написать на java куда проще и быстрей
Не вопрос. В таких местах и C#, и любой другой managed-язык годится. Мне они все нравятся, просто по историческим причинам я на Java писал много, а на C# — лишь небольшой автоматизирующий проектик, и то давно уже.
lpc>- Intellij IDEA значительно повышает производительность труда
По сравнению с чем? С Eclipse/CDT? Не вопрос, повышает. А вот в сравнении со Studio под винду, можно и поспорить.
lpc>- Дебажить код в Java на порядок проще чем в плюсах
Проще. На порядок или нет, вопрос, опять же, сомнительный. Да и речь-то не о плюсах. Я уже, кажется, отмечал — я либо за "голый С", когда надо считать latency, либо за managed-язык, когда не так все критично.
lpc>- Hiring — найти толкового джава девелопера и научить хард-корщине куда проще чем найти вменяемого динозавра С++ девелопера
Щаз-з-з-з. Толковые джава-девелоперы все либо с С/С++ бэкграундом (т.е. бывшие плюсовики), либо совсем запредельно денег хотят, еще больше, чем "динозавры". Кроме, понятное дело, России, там вообще страна динозавров
ОК>Это потому что боттлнек не в языке а в сети. (имеется в виду что на плюсах в первую очередь не было каких-нибудь откровенных глупостей вроде линейного поиска в гигантском векторе который делается кучу раз — просто гипотетический пример)
Сеть далеко не всегда боттлнек. Особенно если речь идет о latency, а не о throughput.
ОК>>Кстати... Вот ты затронул тут чисто технические аспекты. А что там у вас на счет бизнес аспектов? Что с самими стратегиями? ОК>>Успех это ведь не только "как можно быстрее передать данные по сети."
lpc>Мы номер 1 в алготрейдинге практически по всем параметрам (согласно Thomson Reuters Extel Survey и ряду других).
Смешно читать такое. Сейчас каждая шарашкина контора является номером один согласно какому-нибудь исследованию, опросу, журналу или сайту.
Ну и еще все поголовно сами объявляют себя номером один.
lpc>>>да еще и убогие плюсовые IDE остались на том же уровне что и 10 лет назад — rename работает правильно лишь через раз Т>>Это ты про какие? Т>>Нормальная плюсовая IDE это вижуалка + ассист.
lpc>Про нее любимую. В простом проекте то конечно работает, а если навернуть чуток макросов и шаблонов то капец.
А не нужны эти макросы и шаблоны в нормальном коде. (Эти слова не следует понимать что нужно отказаться от СТЛ — их следует понимать что не надо писать в стиле "меня Александреску в полнолуние укусил.")
Здравствуйте, lpc, Вы писали:
lpc>Здравствуйте, Олег К., Вы писали:
ОК>>Кстати... Вот ты затронул тут чисто технические аспекты. А что там у вас на счет бизнес аспектов? Что с самими стратегиями? ОК>>Успех это ведь не только "как можно быстрее передать данные по сети."
lpc>Мы номер 1 в алготрейдинге практически по всем параметрам (согласно Thomson Reuters Extel Survey и ряду других).
UBS?
В UBS, помнится, клепали подобное извращение на джаве, в результате от джавы одно название осталось, а то, что получилось, по уровню языка было чуть ли не ниже Си (рукопашная возня с байтами в буферах).
ОК>>Это потому что боттлнек не в языке а в сети. (имеется в виду что на плюсах в первую очередь не было каких-нибудь откровенных глупостей вроде линейного поиска в гигантском векторе который делается кучу раз — просто гипотетический пример)
SD>Сеть далеко не всегда боттлнек. Особенно если речь идет о latency, а не о throughput.
ПМ>>Мне вот еще интересно, перед тем, как делать zero-GC какое-нибудь профилирование проводилось? Дело в том, что специалисты по С++ обычно не очень хорошо понимают, как работает мусоросборник, порой такой фигни от них наслушаешься, и сразу zero-GC да.
lpc>О боже... ты серьезно считаешь что топовый инвест банк, который зарабатывает на алготрейдинге миллионы и вкладывает огромные деньги в свои технологии, это куча идиотов которые не догадались проверить а правда ли будет быстрей?
К таким конфигурациям даже сами понятия latency (и тем более realtime, с обязательным жестким ограничением на время ответа) неприменимы в общепринятом смысле А главное, что это у вас такое, древний ethernet с коаксиальным кабелем?