Google Recruiter

User avatar
Sergunka
Уже с Приветом
Posts: 34124
Joined: 03 Dec 2000 10:01
Location: Vladivostok->San Francisco->Los Angeles->San Francisco

Re: Google Recruiter

Post by Sergunka »

olis wrote:
vladich wrote:
crypto5 wrote:
vladich wrote:Собственно, есть вполне себе HFT на джаве (не только обслуживающие системы). Просто вызовы GC там сведены к нулю тем что все работает на примитивных типах и вся необходимая память выделяется один раз при старте приложения. На мой взгляд это некое извращение, но тем не менее такое есть. И оптимизировать там не милли, а микросекунды надо.
Ну они наверное какие то простые действия выполняют, но это ведь нельзя экстраполировать на все случаи жизни.
Я и не экстраполирую, просто говорю что и для Java есть такие приложения где нужно такты процессора считать, и GC при этом не мешает.
А действия не простые. Чтобы эти непростые действия работали без GC, люди фактически не пользуются базовыми библиотеками Java вообще, или же как минимум большую их часть переписали..
А какой смысл тогда вообще Java использовать?
Ага на фортране вообще все летало :D и писать проще :angry:
"A patriot must always be ready to defend his country against his government." Edward Abbey
vladich
Уже с Приветом
Posts: 198
Joined: 15 Jan 2010 15:42
Location: SFBA

Re: Google Recruiter

Post by vladich »

vladich wrote:
crypto5 wrote:
vladich wrote:Собственно, есть вполне себе HFT на джаве (не только обслуживающие системы). Просто вызовы GC там сведены к нулю тем что все работает на примитивных типах и вся необходимая память выделяется один раз при старте приложения. На мой взгляд это некое извращение, но тем не менее такое есть. И оптимизировать там не милли, а микросекунды надо.
Ну они наверное какие то простые действия выполняют, но это ведь нельзя экстраполировать на все случаи жизни.
Я и не экстраполирую, просто говорю что и для Java есть такие приложения где нужно такты процессора считать, и GC при этом не мешает.
А действия не простые. Чтобы эти непростые действия работали без GC, люди фактически не пользуются базовыми библиотеками Java вообще, или же как минимум большую их часть переписали..
Говорят что для унификации кода со всем остальным хозяйством, которого в инвестбанке много.
Мне тоже не совсем понятен смысл этого, все же из плюсов или обычного С можно выжать больше при правильном подходе, а в HFT минимизация latency - это главный приоритет, и по идее он должен быть выше чем все остальные соображения.
Оптимизация накладных расходов на разработку путем такой унификации выглядит как экономия на спичках.
Но что есть то есть и такие системы используются тем не менее.
olis
Уже с Приветом
Posts: 4935
Joined: 02 Mar 2002 10:01
Location: UK

Re: Google Recruiter

Post by olis »

Sergunka wrote:
olis wrote: А какой смысл тогда вообще Java использовать?
Ага на фортране вообще все летало :D и писать проще :angry:
Пушутили типа?
Zorkus
Уже с Приветом
Posts: 6969
Joined: 26 Feb 2011 17:40

Re: Google Recruiter

Post by Zorkus »

vladich wrote:Собственно, есть вполне себе HFT на джаве (не только обслуживающие системы). Просто вызовы GC там сведены к нулю тем что все работает на примитивных типах и вся необходимая память выделяется один раз при старте приложения. На мой взгляд это некое извращение, но тем не менее такое есть. И оптимизировать там не милли, а микросекунды надо.
Ну даже и не только трейдинг. Azul утверждал, что какие-то их клиенты добивались на связке азул + тюненный редхад на х86 80 микросекунд worse response time.
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Google Recruiter

Post by crypto5 »

Я думаю я тоже могу какой нибудь echo server налабать который будет за 50 микросекунд отдавать ответ даже на нетюнингованной джаве и линуксе. Непонятно что система делала у этих товарищей.
In vino Veritas!
Zorkus
Уже с Приветом
Posts: 6969
Joined: 26 Feb 2011 17:40

Re: Google Recruiter

Post by Zorkus »

User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Google Recruiter

Post by crypto5 »

И что же вы там нашли?
In vino Veritas!
Zorkus
Уже с Приветом
Posts: 6969
Joined: 26 Feb 2011 17:40

Re: Google Recruiter

Post by Zorkus »

Я нашел немного инфы о том, что они делали, и кое-какие цифры. А вы?
avitya
Уже с Приветом
Posts: 3836
Joined: 13 Sep 2007 10:06

Re: Google Recruiter

Post by avitya »

люди на node.js пишут серваки, а вы о яве... пф.
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Google Recruiter

Post by Интеррапт »

avitya wrote:люди на node.js пишут серваки, а вы о яве... пф.
А это здесь к чему?
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Google Recruiter

Post by crypto5 »

Zorkus wrote:Я нашел немного инфы о том, что они делали, и кое-какие цифры. А вы?
Первая ссылка - вообще чистый маркетинг и в 1мс latency нет никакого rocket science. Вторая вообще помоему антиреклама азула - у них азул отставал от остальных нетюнингованых jvm пока его в ручную не пропатчили азуловские девелоперы под конкретный тест. Могу я поинтересоваться зачем вы кинули сюда эти ссылки?
In vino Veritas!
vladich
Уже с Приветом
Posts: 198
Joined: 15 Jan 2010 15:42
Location: SFBA

Re: Google Recruiter

Post by vladich »

VM от Azul это вообще такая штука про которую все слышали но никто не видел. Потому что стоит больших денег, а для ultra-low-latency систем типа трейдинговых все равно не годится. Соответственно область его применения не совсем понятна, потому что и обычную jvm в большинстве случаев можно оттюнить (плюс соптимизировать приложение) так чтобы добиться приемлемых показателей. Разве что для каких-то больших легаси приложений, которые оптимизировать возможности нет, там возможно да.
Alexandr
Уже с Приветом
Posts: 3647
Joined: 23 May 2010 15:10

Re: Google Recruiter

Post by Alexandr »

crypto5 wrote:по моему легче драйвер подкрутить, ну или базу такую выкинуть нафик
Думаю найти программиста который не страшится тысячи потоков легче чем копаться в блобе драйвера или переводить всю инфраструктуру на другую базу.[/quote]
если деваться некуда, то надо создавать тысячи потоков
Alexandr
Уже с Приветом
Posts: 3647
Joined: 23 May 2010 15:10

Re: Google Recruiter

Post by Alexandr »

olis wrote:
vladich wrote:
crypto5 wrote:
vladich wrote:Собственно, есть вполне себе HFT на джаве (не только обслуживающие системы). Просто вызовы GC там сведены к нулю тем что все работает на примитивных типах и вся необходимая память выделяется один раз при старте приложения. На мой взгляд это некое извращение, но тем не менее такое есть. И оптимизировать там не милли, а микросекунды надо.
Ну они наверное какие то простые действия выполняют, но это ведь нельзя экстраполировать на все случаи жизни.
Я и не экстраполирую, просто говорю что и для Java есть такие приложения где нужно такты процессора считать, и GC при этом не мешает.
А действия не простые. Чтобы эти непростые действия работали без GC, люди фактически не пользуются базовыми библиотеками Java вообще, или же как минимум большую их часть переписали..
А какой смысл тогда вообще Java использовать?
чтобы не плодить зоопарка технологий, там где это имеет смысл
например, есть площадки, где не такой интенсивный поток данных как на "главных", и робот "не такой важный", например, у нас есть робот, задача которого просто стоять в рынке предопределенным обьемом на определенном расстоянии о "центра"
по опыту, правда .netовскому (писал роботов и шлюзы), скажу, что все равно достаточно геморойно - потому как сама среда не всегда эффективна и оптимальна, например, в .net есть классы (=гадить в кучу), которые должны быть структурами по хорошему, + приходилось некоторые моменты реализации подсматривать рефлектором, т.е. у класса есть несколько методов, но некоторые из них создают сторонние объекты, требующие уничтожения, а некоторые обходятся без них, и узнать это можно только рефлектором и профайлером (показывает какой метод память выделяет)
+ проблемы со строками (так как они immutable), что удалось заинтернить - хорошо, но все равно неидеально

мой best effort был - сборка нулевого поколения за 2-3 минуты при интенсивной загрузке
Чтобы эти непростые действия работали без GC, люди фактически не пользуются базовыми библиотеками Java вообще, или же как минимум большую их часть переписали.
ну да, т.е. гемороя еще больше, чем в .net, там хоть осторожно, но базовые библиотеки вполне можно пользовать, а в жабе структур нет, т.е. даже базовыми вещами из библиотек нельзя пользоваться
Alexandr
Уже с Приветом
Posts: 3647
Joined: 23 May 2010 15:10

Re: Google Recruiter

Post by Alexandr »

торговая система LMax вроде на жабе написана, и, типа все быстро быстро
но я скептически к этому отношусь
Alexandr
Уже с Приветом
Posts: 3647
Joined: 23 May 2010 15:10

Re: Google Recruiter

Post by Alexandr »

кстати, если не ошибаюсь, то в том же Дойче Банке часть шлюзов - жабовские
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Google Recruiter

Post by АццкоМото »

vladich wrote: Я и не экстраполирую, просто говорю что и для Java есть такие приложения где нужно такты процессора считать, и GC при этом не мешает.
А действия не простые. Чтобы эти непростые действия работали без GC, люди фактически не пользуются базовыми библиотеками Java вообще, или же как минимум большую их часть переписали..
Могу только присоединиться к вопросу olis - а нафига тогда вообще Джава? У нее вся сила как раз в скорости разработки из-за отсутствия головняка с освобождением памяти и прекрасных стандартных библиотеках. Если от обоих пунктов отказаться, не остается ни одного плюса по сравнению с С++. Переносимость в этих применениях, насколько я понимаю, никого не волнует.
UPD. Прочитал ваш пост на этой странице - вопрос отпал, вы мыслите так же примерно как и я
Мат на форуме запрещен, блдж!
Zorkus
Уже с Приветом
Posts: 6969
Joined: 26 Feb 2011 17:40

Re: Google Recruiter

Post by Zorkus »

Alexandr wrote:кстати, если не ошибаюсь, то в том же Дойче Банке часть шлюзов - жабовские
Да, верно.
User avatar
Alexander Troyansky
Уже с Приветом
Posts: 5665
Joined: 15 Aug 2008 00:52

Re: Google Recruiter

Post by Alexander Troyansky »

Интеррапт wrote:
crypto5 wrote: В гугле много разных интервьюиров с разными тараканами в голове. Еще обычно играет роль как вы быстро решаете задачи. Типа на atoi пол часа может оказаться много.
Я далеко не привередливый интервьюер, но если кандидат не напишет atoi за 5-10 минут (с поддержкой "минус" и с обработкой white spaces), то дальше разговаривать особо не о чем. Т.к. это задача вообще на пару минут и ограничена фактически только скоростью написания текста на доске.
Когда я собеседовался в Гугле в 2008-м году, была мне дана последней задача преобразовать строку в целое число. Одно только выяснение и написание тестов заняло минут 10. Не знаю 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
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Google Recruiter

Post by АццкоМото »

ну я прямо не знаю. чего там писать-то и нафига интернет
Мат на форуме запрещен, блдж!
User avatar
Alexander Troyansky
Уже с Приветом
Posts: 5665
Joined: 15 Aug 2008 00:52

Re: Google Recruiter

Post by Alexander Troyansky »

если вам не жалко 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
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Google Recruiter

Post by crypto5 »

Alexander Troyansky wrote:если вам не жалко 5-10 минут, то попробуйте. Только это будет больше по времени
char c[];
int i = 0;
while(c) { i *= 10; i += c -'0'; c++;}
In vino Veritas!
User avatar
Alexander Troyansky
Уже с Приветом
Posts: 5665
Joined: 15 Aug 2008 00:52

Re: Google Recruiter

Post by Alexander Troyansky »

crypto5 wrote:
Alexander Troyansky wrote:если вам не жалко 5-10 минут, то попробуйте. Только это будет больше по времени
char c[];
int i = 0;
while(c) { i *= 10; i += c; c++;}
:D Эт чо, функция, шо ли? Вы б в гугль с таким легкомыслием не прошли
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
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Google Recruiter

Post by crypto5 »

Alexander Troyansky wrote:
crypto5 wrote:
Alexander Troyansky wrote:если вам не жалко 5-10 минут, то попробуйте. Только это будет больше по времени
char c[];
int i = 0;
while(c) { i *= 10; i += c; c++;}
:D Эт чо, функция, шо ли? Вы б в гугль с таким легкомыслием не прошли
Ну понятно что надо вроде пробелы пропускать, проверять на валидные значения и минус впереди посмотреть, но это уже скучные мелочи ))
In vino Veritas!
User avatar
Alexander Troyansky
Уже с Приветом
Posts: 5665
Joined: 15 Aug 2008 00:52

Re: Google Recruiter

Post by Alexander Troyansky »

crypto5 wrote:
Alexander Troyansky wrote:
crypto5 wrote:
Alexander Troyansky wrote:если вам не жалко 5-10 минут, то попробуйте. Только это будет больше по времени
char c[];
int i = 0;
while(c) { i *= 10; i += c; c++;}
:D Эт чо, функция, шо ли? Вы б в гугль с таким легкомыслием не прошли
Ну понятно что надо вроде пробелы пропускать, проверять на валидные значения и минус впереди посмотреть, но это уже скучные мелочи ))
Понятна :good: ну, к Интеррапту тоже тогда не пытайтесь соваться - зарубит
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

Return to “Работа и Карьера в IT”