Ага на фортране вообще все летало и писать прощеolis wrote:А какой смысл тогда вообще Java использовать?vladich wrote:Я и не экстраполирую, просто говорю что и для Java есть такие приложения где нужно такты процессора считать, и GC при этом не мешает.crypto5 wrote:Ну они наверное какие то простые действия выполняют, но это ведь нельзя экстраполировать на все случаи жизни.vladich wrote:Собственно, есть вполне себе HFT на джаве (не только обслуживающие системы). Просто вызовы GC там сведены к нулю тем что все работает на примитивных типах и вся необходимая память выделяется один раз при старте приложения. На мой взгляд это некое извращение, но тем не менее такое есть. И оптимизировать там не милли, а микросекунды надо.
А действия не простые. Чтобы эти непростые действия работали без GC, люди фактически не пользуются базовыми библиотеками Java вообще, или же как минимум большую их часть переписали..
Google Recruiter
-
- Уже с Приветом
- Posts: 34124
- Joined: 03 Dec 2000 10:01
- Location: Vladivostok->San Francisco->Los Angeles->San Francisco
Re: Google Recruiter
"A patriot must always be ready to defend his country against his government." Edward Abbey
-
- Уже с Приветом
- Posts: 198
- Joined: 15 Jan 2010 15:42
- Location: SFBA
Re: Google Recruiter
Говорят что для унификации кода со всем остальным хозяйством, которого в инвестбанке много.vladich wrote:Я и не экстраполирую, просто говорю что и для Java есть такие приложения где нужно такты процессора считать, и GC при этом не мешает.crypto5 wrote:Ну они наверное какие то простые действия выполняют, но это ведь нельзя экстраполировать на все случаи жизни.vladich wrote:Собственно, есть вполне себе HFT на джаве (не только обслуживающие системы). Просто вызовы GC там сведены к нулю тем что все работает на примитивных типах и вся необходимая память выделяется один раз при старте приложения. На мой взгляд это некое извращение, но тем не менее такое есть. И оптимизировать там не милли, а микросекунды надо.
А действия не простые. Чтобы эти непростые действия работали без GC, люди фактически не пользуются базовыми библиотеками Java вообще, или же как минимум большую их часть переписали..
Мне тоже не совсем понятен смысл этого, все же из плюсов или обычного С можно выжать больше при правильном подходе, а в HFT минимизация latency - это главный приоритет, и по идее он должен быть выше чем все остальные соображения.
Оптимизация накладных расходов на разработку путем такой унификации выглядит как экономия на спичках.
Но что есть то есть и такие системы используются тем не менее.
-
- Уже с Приветом
- Posts: 4935
- Joined: 02 Mar 2002 10:01
- Location: UK
Re: Google Recruiter
Пушутили типа?Sergunka wrote:Ага на фортране вообще все летало и писать прощеolis wrote: А какой смысл тогда вообще Java использовать?
-
- Уже с Приветом
- Posts: 6969
- Joined: 26 Feb 2011 17:40
Re: Google Recruiter
Ну даже и не только трейдинг. Azul утверждал, что какие-то их клиенты добивались на связке азул + тюненный редхад на х86 80 микросекунд worse response time.vladich wrote:Собственно, есть вполне себе HFT на джаве (не только обслуживающие системы). Просто вызовы GC там сведены к нулю тем что все работает на примитивных типах и вся необходимая память выделяется один раз при старте приложения. На мой взгляд это некое извращение, но тем не менее такое есть. И оптимизировать там не милли, а микросекунды надо.
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Google Recruiter
Я думаю я тоже могу какой нибудь echo server налабать который будет за 50 микросекунд отдавать ответ даже на нетюнингованной джаве и линуксе. Непонятно что система делала у этих товарищей.
In vino Veritas!
-
- Уже с Приветом
- Posts: 6969
- Joined: 26 Feb 2011 17:40
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
-
- Уже с Приветом
- Posts: 6969
- Joined: 26 Feb 2011 17:40
Re: Google Recruiter
Я нашел немного инфы о том, что они делали, и кое-какие цифры. А вы?
-
- Уже с Приветом
- Posts: 3836
- Joined: 13 Sep 2007 10:06
Re: Google Recruiter
люди на node.js пишут серваки, а вы о яве... пф.
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Google Recruiter
А это здесь к чему?avitya wrote:люди на node.js пишут серваки, а вы о яве... пф.
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Google Recruiter
Первая ссылка - вообще чистый маркетинг и в 1мс latency нет никакого rocket science. Вторая вообще помоему антиреклама азула - у них азул отставал от остальных нетюнингованых jvm пока его в ручную не пропатчили азуловские девелоперы под конкретный тест. Могу я поинтересоваться зачем вы кинули сюда эти ссылки?Zorkus wrote:Я нашел немного инфы о том, что они делали, и кое-какие цифры. А вы?
In vino Veritas!
-
- Уже с Приветом
- Posts: 198
- Joined: 15 Jan 2010 15:42
- Location: SFBA
Re: Google Recruiter
VM от Azul это вообще такая штука про которую все слышали но никто не видел. Потому что стоит больших денег, а для ultra-low-latency систем типа трейдинговых все равно не годится. Соответственно область его применения не совсем понятна, потому что и обычную jvm в большинстве случаев можно оттюнить (плюс соптимизировать приложение) так чтобы добиться приемлемых показателей. Разве что для каких-то больших легаси приложений, которые оптимизировать возможности нет, там возможно да.
-
- Уже с Приветом
- Posts: 3647
- Joined: 23 May 2010 15:10
Re: Google Recruiter
Думаю найти программиста который не страшится тысячи потоков легче чем копаться в блобе драйвера или переводить всю инфраструктуру на другую базу.[/quote]crypto5 wrote:по моему легче драйвер подкрутить, ну или базу такую выкинуть нафик
если деваться некуда, то надо создавать тысячи потоков
-
- Уже с Приветом
- Posts: 3647
- Joined: 23 May 2010 15:10
Re: Google Recruiter
чтобы не плодить зоопарка технологий, там где это имеет смыслolis wrote:А какой смысл тогда вообще Java использовать?vladich wrote:Я и не экстраполирую, просто говорю что и для Java есть такие приложения где нужно такты процессора считать, и GC при этом не мешает.crypto5 wrote:Ну они наверное какие то простые действия выполняют, но это ведь нельзя экстраполировать на все случаи жизни.vladich wrote:Собственно, есть вполне себе HFT на джаве (не только обслуживающие системы). Просто вызовы GC там сведены к нулю тем что все работает на примитивных типах и вся необходимая память выделяется один раз при старте приложения. На мой взгляд это некое извращение, но тем не менее такое есть. И оптимизировать там не милли, а микросекунды надо.
А действия не простые. Чтобы эти непростые действия работали без GC, люди фактически не пользуются базовыми библиотеками Java вообще, или же как минимум большую их часть переписали..
например, есть площадки, где не такой интенсивный поток данных как на "главных", и робот "не такой важный", например, у нас есть робот, задача которого просто стоять в рынке предопределенным обьемом на определенном расстоянии о "центра"
по опыту, правда .netовскому (писал роботов и шлюзы), скажу, что все равно достаточно геморойно - потому как сама среда не всегда эффективна и оптимальна, например, в .net есть классы (=гадить в кучу), которые должны быть структурами по хорошему, + приходилось некоторые моменты реализации подсматривать рефлектором, т.е. у класса есть несколько методов, но некоторые из них создают сторонние объекты, требующие уничтожения, а некоторые обходятся без них, и узнать это можно только рефлектором и профайлером (показывает какой метод память выделяет)
+ проблемы со строками (так как они immutable), что удалось заинтернить - хорошо, но все равно неидеально
мой best effort был - сборка нулевого поколения за 2-3 минуты при интенсивной загрузке
ну да, т.е. гемороя еще больше, чем в .net, там хоть осторожно, но базовые библиотеки вполне можно пользовать, а в жабе структур нет, т.е. даже базовыми вещами из библиотек нельзя пользоватьсяЧтобы эти непростые действия работали без GC, люди фактически не пользуются базовыми библиотеками Java вообще, или же как минимум большую их часть переписали.
-
- Уже с Приветом
- Posts: 3647
- Joined: 23 May 2010 15:10
Re: Google Recruiter
торговая система LMax вроде на жабе написана, и, типа все быстро быстро
но я скептически к этому отношусь
но я скептически к этому отношусь
-
- Уже с Приветом
- Posts: 3647
- Joined: 23 May 2010 15:10
Re: Google Recruiter
кстати, если не ошибаюсь, то в том же Дойче Банке часть шлюзов - жабовские
-
- Уже с Приветом
- Posts: 15242
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: Google Recruiter
Могу только присоединиться к вопросу olis - а нафига тогда вообще Джава? У нее вся сила как раз в скорости разработки из-за отсутствия головняка с освобождением памяти и прекрасных стандартных библиотеках. Если от обоих пунктов отказаться, не остается ни одного плюса по сравнению с С++. Переносимость в этих применениях, насколько я понимаю, никого не волнует.vladich wrote: Я и не экстраполирую, просто говорю что и для Java есть такие приложения где нужно такты процессора считать, и GC при этом не мешает.
А действия не простые. Чтобы эти непростые действия работали без GC, люди фактически не пользуются базовыми библиотеками Java вообще, или же как минимум большую их часть переписали..
UPD. Прочитал ваш пост на этой странице - вопрос отпал, вы мыслите так же примерно как и я
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 6969
- Joined: 26 Feb 2011 17:40
Re: Google Recruiter
Да, верно.Alexandr wrote:кстати, если не ошибаюсь, то в том же Дойче Банке часть шлюзов - жабовские
-
- Уже с Приветом
- Posts: 5665
- Joined: 15 Aug 2008 00:52
Re: Google Recruiter
Когда я собеседовался в Гугле в 2008-м году, была мне дана последней задача преобразовать строку в целое число. Одно только выяснение и написание тестов заняло минут 10. Не знаю atoi это было или нет, но, только придя домой, где-то за полчаса смог управиться. Мне так эта задача понравилась, что в свою очередь, когда мне уже приходилось интервьюровать людей в будущем, за выделенный мне час времени на интервью задачу эту никто не решал. Разумеется, без доступа к интернету. Только на доске, ну или на лэптопе.Интеррапт wrote:Я далеко не привередливый интервьюер, но если кандидат не напишет atoi за 5-10 минут (с поддержкой "минус" и с обработкой white spaces), то дальше разговаривать особо не о чем. Т.к. это задача вообще на пару минут и ограничена фактически только скоростью написания текста на доске.crypto5 wrote: В гугле много разных интервьюиров с разными тараканами в голове. Еще обычно играет роль как вы быстро решаете задачи. Типа на atoi пол часа может оказаться много.
I would hope that a wise white man with the richness of his experiences would more often than not reach a better conclusion than a latina female who hasn't lived that life
-
- Уже с Приветом
- Posts: 15242
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: Google Recruiter
ну я прямо не знаю. чего там писать-то и нафига интернет
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 5665
- Joined: 15 Aug 2008 00:52
Re: Google Recruiter
если вам не жалко 5-10 минут, то попробуйте. Только это будет больше по времени
I would hope that a wise white man with the richness of his experiences would more often than not reach a better conclusion than a latina female who hasn't lived that life
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Google Recruiter
char c[];Alexander Troyansky wrote:если вам не жалко 5-10 минут, то попробуйте. Только это будет больше по времени
int i = 0;
while(c) { i *= 10; i += c -'0'; c++;}
In vino Veritas!
-
- Уже с Приветом
- Posts: 5665
- Joined: 15 Aug 2008 00:52
Re: Google Recruiter
Эт чо, функция, шо ли? Вы б в гугль с таким легкомыслием не прошлиcrypto5 wrote:char c[];Alexander Troyansky wrote:если вам не жалко 5-10 минут, то попробуйте. Только это будет больше по времени
int i = 0;
while(c) { i *= 10; i += c; c++;}
I would hope that a wise white man with the richness of his experiences would more often than not reach a better conclusion than a latina female who hasn't lived that life
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Google Recruiter
Ну понятно что надо вроде пробелы пропускать, проверять на валидные значения и минус впереди посмотреть, но это уже скучные мелочи ))Alexander Troyansky wrote:Эт чо, функция, шо ли? Вы б в гугль с таким легкомыслием не прошлиcrypto5 wrote:char c[];Alexander Troyansky wrote:если вам не жалко 5-10 минут, то попробуйте. Только это будет больше по времени
int i = 0;
while(c) { i *= 10; i += c; c++;}
In vino Veritas!
-
- Уже с Приветом
- Posts: 5665
- Joined: 15 Aug 2008 00:52
Re: Google Recruiter
Понятна ну, к Интеррапту тоже тогда не пытайтесь соваться - зарубитcrypto5 wrote:Ну понятно что надо вроде пробелы пропускать, проверять на валидные значения и минус впереди посмотреть, но это уже скучные мелочи ))Alexander Troyansky wrote:Эт чо, функция, шо ли? Вы б в гугль с таким легкомыслием не прошлиcrypto5 wrote:char c[];Alexander Troyansky wrote:если вам не жалко 5-10 минут, то попробуйте. Только это будет больше по времени
int i = 0;
while(c) { i *= 10; i += c; c++;}
I would hope that a wise white man with the richness of his experiences would more often than not reach a better conclusion than a latina female who hasn't lived that life