Re[9]: Куда уходят умирать C++ программисты?
От: jazzer Россия Skype: enerjazzer
Дата: 12.06.12 02:51
Оценка: +1
Здравствуйте, SkyDance, Вы писали:

ОК>>А если несколько клиентов "вещают в сети?"


SD>К таким конфигурациям даже сами понятия latency (и тем более realtime, с обязательным жестким ограничением на время ответа) неприменимы в общепринятом смысле А главное, что это у вас такое, древний ethernet с коаксиальным кабелем?


Ну скажешь тоже.
Вот у тебя в сетке несколько фидов с разных бирж, все мультикастят — все равно нет latency?
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[5]: Куда уходят умирать C++ программисты?
От: Олег К.  
Дата: 12.06.12 02:57
Оценка: -1
lpc>>>Уже давно многие пишут на Java, в том числе и мы. Если заткнуть GC то производительность мало чем отличается от С++ (если вообше отличается).
__>>а как вы это делаете? используете вместо new только предварительно выделенные пулы? какие-то опции виртуальной машины?

lpc>Да, делаем полный pre-allocation и все храним в большом массиве байтов (в реальности массив не один а много, и не только байтов а еще и шортов, интов, лонгов). Чем то похоже на программирование на С, но ООП тоже как ни странно присутствует. Небольшой тюнинг JVM тоже делается. Самое сложное что при таком подходе нельзя использовать никакие (стандартные) библиотеки, даже коллекции, поэтому нам пришлось написать все свое.


lpc>P.S.: для особых случаев можно получить прямой доступ к памяти через sun.misc.Unsafe и разогнаться еше больше.


Для тех кто в танке, можно объяснить на пальцах что же вы там все-таки набангалорили?

Я не понимаю. Как можно преаллокейтать все объекты когда их количество неизвестно до рантайма ровно также как и не известно какие "пути будут следоваться в коде." И всех этих объектов, мягко говоря, дохрена.

Или вы написали свой аллокатор? В таком случае чем он лучше сановского? И что происходит с объектами которые больше не нужны? Где берется память когда закончилась существующая?
Re[9]: Куда уходят умирать C++ программисты?
От: Олег К.  
Дата: 12.06.12 03:01
Оценка:
Здравствуйте, SkyDance, Вы писали:

ОК>>А если несколько клиентов "вещают в сети?"


SD>К таким конфигурациям даже сами понятия latency (и тем более realtime, с обязательным жестким ограничением на время ответа) неприменимы в общепринятом смысле А главное, что это у вас такое, древний ethernet с коаксиальным кабелем?


Я образно без вдавания в какие-нибудь технологии. В конечном счете на сервера идет трафик от кучи клиентов.
Re[10]: Куда уходят умирать C++ программисты?
От: SkyDance Земля  
Дата: 12.06.12 03:03
Оценка:
J>Вот у тебя в сетке несколько фидов с разных бирж, все мультикастят — все равно нет latency?

А, я другую картину вообразил. Про мультикаст сразу и не вспомнил. Но это все равно другой случай, и для нормальной real-time все равно не покатит, ибо коллизии. Ну или по православному, через "все со всеми" каналы.
Re[9]: Куда уходят умирать C++ программисты?
От: jazzer Россия Skype: enerjazzer
Дата: 12.06.12 04:28
Оценка:
Здравствуйте, Олег К., Вы писали:

ОК>Успех торговли это еще не только возможность первым купить, но еще и сама стратегия. Только закладываются почему-то на первое.


Просто этим обычно разные люди занимаются.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[12]: Куда уходят умирать C++ программисты?
От: trophim Россия  
Дата: 12.06.12 09:21
Оценка:
Ха, вообще поразительная реакция аудитории: да вы ваще отключать то его умеете? Вот я то отключу, я д'Артаньян, а вы там в банке своем ...расы криворукие. Вот, то есть был профи, а как пришел в банк и на тебе — руки в зюзю скривились.
... << RSDN@Home 1.2.0 alpha 5 rev. 1495>>
Let it be! — Давайте есть пчелу!
Re: Куда уходят умирать C++ программисты?
От: Kswapd Россия  
Дата: 12.06.12 12:25
Оценка:
RSA>Что то у меня складывается ощущение что количество работы связанной с С++ резко уменьшилось в последнее время...

На каком основании складывается? На hh.ru C++ 2111 вакансий, Java 2463 вакансии.
Re[8]: Куда уходят умирать C++ программисты?
От: Kswapd Россия  
Дата: 12.06.12 12:26
Оценка:
SD>Средняя длина МПХ, согласно опросам, составляет 25 см.
SD>Однако согласно измерениям средняя длина составляет 14 см.

В каком состоянии?
Re[9]: Куда уходят умирать C++ программисты?
От: Трололоша  
Дата: 12.06.12 15:08
Оценка:
Здравствуйте, Kswapd, Вы писали:

SD>>Средняя длина МПХ, согласно опросам, составляет 25 см.

SD>>Однако согласно измерениям средняя длина составляет 14 см.

K>В каком состоянии?


Во время купания в проруби само собой
... << RSDN@Home>>
Да, йа зелёный тролль!
Re[8]: Куда уходят умирать C++ программисты?
От: lpc Великобритания  
Дата: 12.06.12 23:04
Оценка:
Здравствуйте, Олег К., Вы писали:

lpc>>Мы номер 1 в алготрейдинге практически по всем параметрам (согласно Thomson Reuters Extel Survey и ряду других).

ОК>Смешно читать такое. Сейчас каждая шарашкина контора является номером один согласно какому-нибудь исследованию, опросу, журналу или сайту.

Прежде чем делать такие глупые заявления, советую разузнять что такое Extel Survey и как именно он проводится.
Re[8]: Куда уходят умирать C++ программисты?
От: lpc Великобритания  
Дата: 12.06.12 23:12
Оценка:
Здравствуйте, Олег К., Вы писали:

ОК>Копай глубже. Тут вопрос в другом. Насколько вообще это вменяемое требование? А то сделать-то можно но вот нужно ли?


Тебе не кажется что нашему бизнесу видней какое требование вменяемое, а какое нет? Спешу опередить твой следующий вопрос — наш бизнес знает что такое GC и что свет проходит 30 см за 1 наносекунду.

P.S.: Когда приходит market order и система залипает на пол-секунды из-за GC то за это время цена может значительно просесть и клиент нам предъявит убытки (а еще хуже если будет как с насдаком по время IPO фейсбука). Реально смешно читать про советы такие советы...
Re[6]: Куда уходят умирать C++ программисты?
От: lpc Великобритания  
Дата: 12.06.12 23:21
Оценка:
Здравствуйте, Олег К., Вы писали:

ОК>Для тех кто в танке, можно объяснить на пальцах что же вы там все-таки набангалорили?


Не стоит думать что все такие же бангалорцы как у вас на проекте. У нас все хорошо.

ОК>Я не понимаю. Как можно преаллокейтать все объекты когда их количество неизвестно до рантайма ровно также как и не известно какие "пути будут следоваться в коде." И всех этих объектов, мягко говоря, дохрена.


ОК>Или вы написали свой аллокатор? В таком случае чем он лучше сановского? И что происходит с объектами которые больше не нужны? Где берется память когда закончилась существующая?


Обычно курс молодого бойца занимает 2-3 месяца и я как то не вижу особого смысла рассказыват о всех деталях на открытом форуме, тем более людям с таким негативным настроем как у тебя.

P.S.: когда заканчивается память то делаем new (который не вызывает GC потому что у нас всегда есть запас в young generation).
Re[12]: Куда уходят умирать C++ программисты?
От: lpc Великобритания  
Дата: 12.06.12 23:26
Оценка:
Здравствуйте, Олег К., Вы писали:

ОК>А не нужны эти макросы и шаблоны в нормальном коде. (Эти слова не следует понимать что нужно отказаться от СТЛ — их следует понимать что не надо писать в стиле "меня Александреску в полнолуние укусил.")


Определи что такое 1) нормальный код и что такое 2) макросы и шаблоны в смысле СТЛ но не в смысле александерску. Потом поговорим.
Re[13]: Куда уходят умирать C++ программисты?
От: lpc Великобритания  
Дата: 12.06.12 23:41
Оценка: -1
Здравствуйте, trophim, Вы писали:

T>Ха, вообще поразительная реакция аудитории: да вы ваще отключать то его умеете? Вот я то отключу, я д'Артаньян, а вы там в банке своем ...расы криворукие. Вот, то есть был профи, а как пришел в банк и на тебе — руки в зюзю скривились.


Реакция аудитории, с сожалению, была весьма предсказуема... я хотел было поделиться интересным подходом использования джавы а нарвался на традиционное "такое невозможно, да вы дураки, вам вообще это не надо". Но с другой стороны это радует, конкурентов на рынке все еще мало, общество еще не созрело
Re[9]: Куда уходят умирать C++ программисты?
От: mik1  
Дата: 13.06.12 01:38
Оценка:
Здравствуйте, lpc, Вы писали:

lpc>Здравствуйте, Олег К., Вы писали:


ОК>>Копай глубже. Тут вопрос в другом. Насколько вообще это вменяемое требование? А то сделать-то можно но вот нужно ли?


lpc>Тебе не кажется что нашему бизнесу видней какое требование вменяемое, а какое нет? Спешу опередить твой следующий вопрос — наш бизнес знает что такое GC и что свет проходит 30 см за 1 наносекунду.


lpc>P.S.: Когда приходит market order и система залипает на пол-секунды из-за GC то за это время цена может значительно просесть и клиент нам предъявит убытки (а еще хуже если будет как с насдаком по время IPO фейсбука). Реально смешно читать про советы такие советы...


Интересно таки, почему стоит оставлять от Явы одно название, но пользоваться ею.
Если маркет не 24-часовой, то в окнах можно чистить память/перезапускать процесс.
Следующий интересный вопрос — размер working set. Minor GC с || коллектором занимают > 0.1 секунды на несколько гигабайтных объёмах (причем тут есть шансы пошаманить, использовать G1 или машину от Azul).
Если же память вручную аллокировать, то возвращаемся к вопросу о фрагментации, компактированию и прочим около сборочно-мусорным вещам... Тут можно предположить, что памяти до фига и вы дотягиваете до окна в торгах. Только с дофига памяти можно и не городить такой огород...
Re[9]: Куда уходят умирать C++ программисты?
От: Олег К.  
Дата: 13.06.12 02:42
Оценка:
lpc>>>Мы номер 1 в алготрейдинге практически по всем параметрам (согласно Thomson Reuters Extel Survey и ряду других).
ОК>>Смешно читать такое. Сейчас каждая шарашкина контора является номером один согласно какому-нибудь исследованию, опросу, журналу или сайту.

lpc>Прежде чем делать такие глупые заявления, советую разузнять что такое Extel Survey и как именно он проводится.


Да мне и читать ничего не надо. Я тебе и так все скажу. Там везде свои люди. Большой дядя звонит своему дружбану и говорит что хочет такую-то статью. Дальше дело денег.

Там где крутятся большие деньги честно не бывает.
Re[9]: Куда уходят умирать C++ программисты?
От: Олег К.  
Дата: 13.06.12 02:56
Оценка:
ОК>>Копай глубже. Тут вопрос в другом. Насколько вообще это вменяемое требование? А то сделать-то можно но вот нужно ли?

lpc>Тебе не кажется что нашему бизнесу видней какое требование вменяемое, а какое нет? Спешу опередить твой следующий вопрос — наш бизнес знает что такое GC и что свет проходит 30 см за 1 наносекунду.


Мне все равно что там у вас и я очень хорошо знаю какие идиоты могут встречаться во всех этих компаниях. На всех ступеньках карьерной лестницы. "Чем бы дитя не тешилось лишь бы не плакало," в общем.

С опережением ты поспешил. Я это и не собирался спрашивать. Спрошу другое. Допустим вы выжали целую секунду с вашим решением. Теперь следуя этой логике имеет смысл оптимизировать драйвера и/или планировщик Линукса (Линукс чисто как пример). Вы не собираетесь там этим в ближайшее время заняться?

lpc>P.S.: Когда приходит market order и система залипает на пол-секунды из-за GC то за это время цена может значительно просесть и клиент нам предъявит убытки (а еще хуже если будет как с насдаком по время IPO фейсбука). Реально смешно читать про советы такие советы...
Re[7]: Куда уходят умирать C++ программисты?
От: Олег К.  
Дата: 13.06.12 03:05
Оценка:
ОК>>Для тех кто в танке, можно объяснить на пальцах что же вы там все-таки набангалорили?

lpc>Не стоит думать что все такие же бангалорцы как у вас на проекте. У нас все хорошо.


Тут уже несколько человек раскритиковали ваше решение. Так уж и хорошо?

ОК>>Я не понимаю. Как можно преаллокейтать все объекты когда их количество неизвестно до рантайма ровно также как и не известно какие "пути будут следоваться в коде." И всех этих объектов, мягко говоря, дохрена.


ОК>>Или вы написали свой аллокатор? В таком случае чем он лучше сановского? И что происходит с объектами которые больше не нужны? Где берется память когда закончилась существующая?


lpc>Обычно курс молодого бойца занимает 2-3 месяца и я как то не вижу особого смысла рассказыват о всех деталях на открытом форуме, тем более людям с таким негативным настроем как у тебя.


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

lpc>P.S.: когда заканчивается память то делаем new (который не вызывает GC потому что у нас всегда есть запас в young generation).


У вас память что ли бесконечна?

Давай уж, не говори про курс молодого бойца и два-три месяца. Расскажи на пальцах в течении пяти минут подробнее. А то у меня до сих пор непонимание как можно преаллокейтить все объекты когда ты не знаешь даже в рантайме сколько их у тебя еще будет да и каких типов.
Re[13]: Куда уходят умирать C++ программисты?
От: Олег К.  
Дата: 13.06.12 03:17
Оценка:
ОК>>А не нужны эти макросы и шаблоны в нормальном коде. (Эти слова не следует понимать что нужно отказаться от СТЛ — их следует понимать что не надо писать в стиле "меня Александреску в полнолуние укусил.")

lpc>Определи что такое 1) нормальный код и что такое 2) макросы и шаблоны в смысле СТЛ но не в смысле александерску. Потом поговорим.


Ну начинается. Простой, лаконичный код который можно понять сходу и/или пройтись отладчиком если надо. Так чтобы плеваться не приходилось. На счет 2). Вместо #define MY_CONST 7 пишешь const int MyConst = 7; или енумы, вместо #define SQUARE(x) ((x) * (x)) пишешь соответсвенно инлайн функцию, на счет темплейтов — пользуешься стандартными контейнерами и смарт пойнтерами и очень редко когда сам пишешь темплейтные функции и классы. Большего и не нужно.
Re[8]: Куда уходят умирать C++ программисты?
От: mik1  
Дата: 13.06.12 03:18
Оценка:
Здравствуйте, Олег К., Вы писали:

ОК>У вас память что ли бесконечна?


Кстати, это вариант. Тогда аллокатор будет реально быстрым

ОК>Давай уж, не говори про курс молодого бойца и два-три месяца. Расскажи на пальцах в течении пяти минут подробнее. А то у меня до сих пор непонимание как можно преаллокейтить все объекты когда ты не знаешь даже в рантайме сколько их у тебя еще будет да и каких типов.


Чую, что все 'объекты' у них — это одноуровневые структуры с методами, сильно напоминающими ByteBuffer: getInt(offset), getByte(offset) и т.д.
Но вот как они их вычищают???
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.