1.1, A.Stahl (?), 12:04, 09/11/2012 [ответить] [﹢﹢﹢] [ · · · ]
| –18 +/– |
Что только не придумают лишь бы не писать на нормальном компилируемом языке.
Впрочем, пусть развлекаются.
| |
|
2.8, NikolayV81 (?), 12:35, 09/11/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
А зачем им компилятор? у них нет сложных задач для CPU по большому счёту (нет расчётов нет преобразований которые бы делались не оптимизированными библиотеками), им нужна масштабируемость по данным и по потокам, а так же независимость от аппаратной составляющей (завтра вдруг у АМД выхорит с x86+ARM? или ещё у когото...)
| |
|
3.9, m1ck (?), 12:39, 09/11/2012 [^] [^^] [^^^] [ответить]
| –24 +/– |
ты чо думаешь ты умнее инженеров твиттера? я сомневаюсь...
| |
|
4.90, другой аноним (?), 17:18, 10/11/2012 [^] [^^] [^^^] [ответить]
| +3 +/– |
> ты чо думаешь ты умнее инженеров твиттера?
вообще-то человек соглашается с их решением, а не критикует и предлагает что-то иное
| |
|
3.12, Аноним (-), 12:44, 09/11/2012 [^] [^^] [^^^] [ответить]
| +6 +/– |
Согласен полностью. Java отличный выбор для проектов такого масштаба. Вообще, новость о том что они начали уходить от Ruby проскакивала уже давно — http://readwrite.com/2011/04/11/twitter-drops-ruby-for-java
Просто в Twitter'е правильно выбирают инструменты. Ruby хорош на старте. А по мере роста потребностей переходят к более производительным платформам.
| |
|
4.37, Аноним (-), 15:20, 09/11/2012 [^] [^^] [^^^] [ответить]
| –1 +/– |
поддерживаю, в таких высоко нагруженных проектах нужно уходить на jvm. Ну уних там clojure в storm есть.
| |
|
3.44, me (??), 16:00, 09/11/2012 [^] [^^] [^^^] [ответить]
| +/– |
> завтра вдруг у АМД выхорит с x86+ARM
... то под неё из воздуха тут же материализуется jvm? вряд ли
| |
|
2.19, metallic (ok), 13:03, 09/11/2012 [^] [^^] [^^^] [ответить]
| +8 +/– |
На "нормальном копилируемом языке" они бы тоже самое писали лет 20, а еще лет 10 потом это отлаживали.
| |
|
3.33, Аноним (-), 15:10, 09/11/2012 [^] [^^] [^^^] [ответить]
| –1 +/– |
> На "нормальном копилируемом языке" они бы тоже самое писали лет 20
За 20 лет целый Linux отбабахали. Вы такую монстряку и на яве будете писать не меньше. А потом еще полвека в профайлере упираться - скорость повышать до минимально приемлимой.
| |
|
|
5.78, Аноним (-), 10:08, 10/11/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Вы не находите, что Twitter и Linux — это «немного» разные вещи?
По масштабу проекта и сложности - пингвин сделает любого твиттера раз в 100500.
| |
|
4.57, BratSinot (?), 19:52, 09/11/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
> За 20 лет целый Linux отбабахали.
Дырка на дырке, кривизна на кривизне.
> скорость повышать до минимально приемлимой.
Вы идиот. Они JVM используют не для вычислений, а для организации данных.
| |
|
5.77, Аноним (-), 10:07, 10/11/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
>> За 20 лет целый Linux отбабахали.
> Дырка на дырке, кривизна на кривизне.
Ну вы же на вашей яве лучше почему-то не написали. Кстати в каждом апдейте явы почему-то фиксят столько дырок что на пятерых линуксов хватит. WTF? :)
| |
|
|
|
2.87, ДяДя (?), 10:48, 10/11/2012 [^] [^^] [^^^] [ответить]
| +2 +/– |
:-)
Java компилируется в байткод.
Байткод компилируется в нативный код.
Перед компиляцией происходит анализ конкретного оборудования и конкретного приложения.
HotSpot сейчас компилит всё быстрым компилятором, а когда обнаруживаются места, которые требуют оптимизацию, то происходит их перекомпиляция сложным компилятором. Сложный компилятор генерирует код на уровне GCC -O3 или лучше.
Какой "нормальный язык" позволяет реализовать подобное ??
| |
|
3.98, anonymous (??), 22:08, 12/11/2012 [^] [^^] [^^^] [ответить]
| +/– |
>Java компилируется в байткод. Байткод компилируется в нативный код. Перед компиляцией >происходит анализ конкретного оборудования и конкретного приложения. HotSpot сейчас >компилит всё быстрым компилятором, а когда обнаруживаются места, которые требуют >оптимизацию, то происходит их перекомпиляция сложным компилятором. Сложный компилятор >генерирует код на уровне GCC -O3 или лучше. Какой "нормальный язык" позволяет реализовать >подобное ??
Не ну это то все понятно, непонятно как-раз почему "нормальный язык" все равно быстрее.
| |
|
|
1.2, Аноним (-), 12:07, 09/11/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
>> переписанные на языке Java.
у них там кажеться scala использовалась
| |
|
|
3.10, Дима (??), 12:40, 09/11/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
если быть точным - не всегда так
например груви в 50-500 раз медленее
| |
|
2.66, Аноним (-), 21:00, 09/11/2012 [^] [^^] [^^^] [ответить]
| +/– |
ага, Twitter был первым кто начал использовать Скалу в продакшне (если я правильно помню книгу Одерского)
| |
|
1.3, Аноним (-), 12:11, 09/11/2012 [ответить] [﹢﹢﹢] [ · · · ]
| –3 +/– |
Почему-то мне трудно переход с Ruby на Java удачным решением или хотя бы приемлемым.
| |
|
2.7, Аноним (-), 12:34, 09/11/2012 [^] [^^] [^^^] [ответить]
| +/– |
Расскажите нам, какое же решение по-вашему удачное? С или ASM?
| |
|
|
|
5.38, Аноним (-), 15:21, 09/11/2012 [^] [^^] [^^^] [ответить]
| +/– |
> И никакой это не Golden Hammer.
Golden, не golden, а что-то кодеки никто на яве не пишет. Си и куски SIMD асма. Вот там да, за скорость рубятся. Потому что в отличие от твиттеров для пользователя аргумент вида "ой, докупите еще серверов, нам влом оптимизировать" как-то не очень катит :)
| |
|
|
7.79, Аноним (-), 10:10, 10/11/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Кодеки сейчас пишут уже даже на JavaScript.
И где это барахло применяется? Ах, чисто академический интерес - показать что в принципе и на нем что-то такое можно накорябать? Ну да, чисто теоретически и на брейнфаке можно, не то что на JS. С точки зрения теории все ЯП равноправны. С точки зрения практики - что-то желающих использовать тормозилово на JS именуемое кодеком что-то не густо пока.
| |
|
6.52, зачем имя анониму (?), 19:04, 09/11/2012 [^] [^^] [^^^] [ответить]
| +2 +/– |
> а что-то кодеки никто на яве не пишет.
А разработчики твиттера кодеки чтоли пишут? Или вы на самом деле не видите разницы? Откуда ж вас столько, упоротых?
| |
6.56, Аноним (-), 19:47, 09/11/2012 [^] [^^] [^^^] [ответить]
| +3 +/– |
Единственная цель существования кодеков - экономить ресурсы, сжимая контент. Кодек обязан быть производительным, причем более производительным и жмущим, чем предшественники, иначе в нем просто нет смысла.
А кроме кодеков как бы есть еще прикладные программы, делающие сами по себе что-то полезное. Медленная, но написанная до конца прикладная программа гораздо полезнее быстрой, но ничего не умеющей
| |
|
|
|
3.51, Аноним (-), 18:59, 09/11/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
Common Lisp
SBCL выдает производительность одного порядка с сишной
| |
3.95, anonnymous (?), 04:14, 11/11/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Расскажите нам, какое же решение по-вашему удачное? С или ASM?
Erlang/OTP ]:->
| |
|
2.26, Ищавин (ok), 13:50, 09/11/2012 [^] [^^] [^^^] [ответить]
| +3 +/– |
Трудно потому как есть JRuby, которая в отличии от MRI и REE позволяет решить проблему утилизации всех ядер. Если что, даже Java код можно интегрировать. Теперь особенно странно выглядит то, как программисты твиттера зачем-то развивали сильно отстающую ветку Ruby внося не принципиальный для них изменения. Все это человеко-время можно было спокойно потратить на помощь проекту JRuby.
| |
|
|
|
3.40, Аноним (-), 15:35, 09/11/2012 [^] [^^] [^^^] [ответить] | +/– | Рапидная разработка как есть 0 Быстро налабать на коленке хрень 1 Забить на... большой текст свёрнут, показать | |
|
4.53, зачем имя анониму (?), 19:12, 09/11/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
Ну да, так и есть. Это же не Open Source и не «Just For Fun». Обычная коммерческая разработка — требуется ровно такое качество, которое устроит пользователей, а они обычно неслишком привередливые. Вообще заметил интересный момент — многие знакомые (далекие от IT), увидев сайт в дауне, вообще думают что это у них самих «инет сломался». У Твиттера довольно часто случаются глобальные (и не очень) факапы. И ничего — пользователи вроде никуда не уходят.
| |
|
5.58, Crazy Alex (ok), 20:06, 09/11/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
Вот именно. Но людям понятие "коммерчески оправданно" незнакомо, судя по всему. И то, как запускается социальный стартап - тоже. Объясняю. На начальном этапе непонятно, взлетит или нет, поэтому затраты должны быть минимизированы. Запускается едва рабочий прототип. Если интерес есть - начинается раскрутка. Основные затраты идут на неё, на разработку - ровно столько чтобы поддреживалась работа системы на минимально приемлемом уровне. Задача - набрать критическую массу пользователей. И только когда она набрана, когда появляются конкуренты-подражатели, возникает необходиомсть хоть как-то "держать марку". И это не со зла - эта стратегия просто минимизирует шанс прогореть, выпустившись слишком поздно или отдав своих клиентов клону (который разрабатывать всегда проще и быстрее).
| |
|
6.96, Аноним (-), 20:01, 11/11/2012 [^] [^^] [^^^] [ответить]
| +/– |
Людям надо во что-то верить. Некоторые верят в инопланетян, а некоторые в то, что их любимый язык самый лучший, потому что программы на нем самые быстрые, и неважно, насколько эти программы выполняют свои функции, удобны, безглючны, гибки и легки в поддержке
| |
|
|
|
|
|
1.11, pkunk (ok), 12:42, 09/11/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Про "переписывание" в оригинале ни слова. Сказано только про использование JVM.
| |
1.14, EuPhobos (ok), 12:54, 09/11/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Теперь на заявления типа "Ява - Тормоз!", можно смело писать "А твой <язык> сможет обсчитать 15 107 твитов в секунду?!" =))
| |
|
2.18, Аноним (-), 13:02, 09/11/2012 [^] [^^] [^^^] [ответить]
| +4 +/– |
На 15 107 параллельно работающих серверах с 16 ГБ памяти на каждом? Мммм... дайте подумать... думаю сможет :)
| |
|
|
4.42, Аноним (-), 15:39, 09/11/2012 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Ну так сделай, если реально можешь.
У опсосов центры обработки СМСок которые тоже по 140 символов их миллиардами ворочают, и ничо, живые.
| |
|
|
2.20, Аноним (-), 13:03, 09/11/2012 [^] [^^] [^^^] [ответить]
| +/– |
Не-не.
"А сможешь ли ты поддерживать систему, которая может обсчитать 15 107 твитов в секунду на твоем <языке> ?!"
| |
|
3.21, XoRe (ok), 13:10, 09/11/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Не-не.
> "А сможешь ли ты поддерживать систему, которая может обсчитать 15 107 твитов
> в секунду на твоем <языке> ?!"
Ещё круче: а создай систему, которая будет обсчитывать... :)
| |
|
|
5.91, другой аноним (?), 17:31, 10/11/2012 [^] [^^] [^^^] [ответить]
| +/– |
> И чего вы "обсчитываете" в тупых 140-символьных сообщениях?
вероятно, гэбистские фильтры на ключевые слова и семантический анализ сообщений (в поисках скрытого смысла :) )
| |
5.99, XoRe (ok), 12:19, 13/11/2012 [^] [^^] [^^^] [ответить]
| +/– |
> И чего вы "обсчитываете" в тупых 140-символьных сообщениях?
i++ :)
Сохранить, проиндексировать, распарсить на наличие тегов/урлов, сделать ссылки кликабельными.
А ещё отправить обновление всем фолловерам (а их могут быть миллионы).
| |
|
|
3.39, Аноним (-), 15:22, 09/11/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Не-не.
> "А сможешь ли ты поддерживать систему, которая может обсчитать 15 107 твитов
> в секунду на твоем <языке> ?!"
Не смогу. Ибо она не нужна.
| |
|
2.31, Аноним (-), 14:41, 09/11/2012 [^] [^^] [^^^] [ответить]
| +/– |
Си, конечно, сможет. И при этом на значительно более слабом железе.
| |
|
3.32, Анончик (?), 14:56, 09/11/2012 [^] [^^] [^^^] [ответить]
| –1 +/– |
Я бы порекомендовал ASM. В любом случае человек умеет оптимизировать код лучше, чем какой-то тупой компилятор!
| |
|
4.34, Аноним (-), 15:15, 09/11/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
> чем какой-то тупой компилятор!
Когда как. У компилятора все шансы уделать человека например на глобальной оптимизации распределения регистров. Вы задолбаетесь анализировать мег кода на предмет как он юзает регистры и оптимизить это. А компилеру пофиг - он железный. По поводу чего асм имеет смысл в спецслучаях типа ранней инициализации железа и вставок в наиболее критичных местах кода, как в кодеках. Да, если адресно раскидать SIMD регистры в куске кода на полкило и там наибоелее горячий цикл, кодек может выиграть по скорости в разы. Кстати при том объеме бабла которое твиттерообразные тратят на сервера - оптимизация не является маразмом. Ну по крайней мере фэйсбук транслятор пыха в си++ накатали. Наверное потому что так работает быстрее, да? :)
| |
|
5.49, Аноним (-), 18:34, 09/11/2012 [^] [^^] [^^^] [ответить]
| –1 +/– |
> У компилятора все шансы уделать человека например на глобальной оптимизации распределения регистров. Вы задолбаетесь анализировать мег кода на предмет как он юзает регистры и оптимизить это
> асм имеет смысл в спецслучаях типа ... вставок в наиболее КРИТИЧНЫХ местах кода, как в кодеках.
Взаимоисключающие параграфы
| |
|
6.81, Аноним (-), 10:22, 10/11/2012 [^] [^^] [^^^] [ответить] | +/– | На первый взгляд - да Но на самом деле человек может сильно уделать компилятор ... большой текст свёрнут, показать | |
|
|
4.54, trdm (ok), 19:16, 09/11/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Я бы порекомендовал ASM.
Это надо говорить с житрожопым выражением лица, иначе люди не поймут.
сишка вполне могла бы взлететь. Видно у твитера просто недобор высококвалифицированных кадров - решили, что лучше купить сотню-другую серверов, чем платить десятку-другому инженеров.
| |
|
5.60, Crazy Alex (ok), 20:10, 09/11/2012 [^] [^^] [^^^] [ответить]
| +/– |
Хм, покажите что-то большое-вебовское, писанное на сишечке. Самое близкое, что приходит в голову - фейсбук, осиливший нанять Александреску и сделавший свой компилятор PHP. Но чтобы на сях саму бизнес-логику писали - и не припомню. А поскольку не верится, чо все поголовно дураки - значит чем-то это не оптимально...
| |
|
6.82, Аноним (-), 10:22, 10/11/2012 [^] [^^] [^^^] [ответить]
| +/– |
> PHP. Но чтобы на сях саму бизнес-логику писали - и не припомню.
А если поискать немного - окажется что всяких там шаблонизаторов и прочая на си++ есть.
| |
|
|
|
|
2.41, Аноним (-), 15:36, 09/11/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
> <язык> сможет обсчитать 15 107 твитов в секунду?!" =))
Пардон, а что их там "обсчитывать"? Это ж тупые короткие сообщения. Счет то где?
| |
|
3.61, Crazy Alex (ok), 20:12, 09/11/2012 [^] [^^] [^^^] [ответить]
| +/– |
Диспетчеризация (кому должно прилететь), обработка хэштегов, упоминнаий юзеров на таких количествахв релаьном времени становятся делом... интересным, скажем так. Причём там дело не в объёмах сообщений, а больше в количестве действий, которые нужно на каждое сделать
| |
|
|
1.15, VoDA (ok), 12:55, 09/11/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
У меня одного вопрос почему опубликовали на GitHub, а не отдали в Apache???
По идее всем (и FB) выгоднее смержиться с основной веткой. Или я не прав? ;)
| |
|
2.35, Аноним (-), 15:16, 09/11/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Apache???
Наверное потому что туда проприетарщики обычно сливают всякую дохлятину. Этакий могильник для отработанного ядерного топлива.
| |
|
3.76, VoDA (ok), 01:00, 10/11/2012 [^] [^^] [^^^] [ответить]
| +/– |
>> Apache???
> Наверное потому что туда проприетарщики обычно сливают всякую дохлятину. Этакий могильник
> для отработанного ядерного топлива.
так FB через Apache и получил Hadoop. Значит могилки то свежие, а если некромант опытный, то и оживить получится ;)))
| |
|
4.83, Аноним (-), 10:23, 10/11/2012 [^] [^^] [^^^] [ответить]
| +/– |
> если некромант опытный, то и оживить получится ;)))
Видимо у них мало опыта в некромансии и поэтому они предпочли нечто более живое :)
| |
|
|
|
|
2.30, Xasd (ok), 14:32, 09/11/2012 [^] [^^] [^^^] [ответить]
| +/– |
дауж! автор новости (переводчик на русский язык) -- явно выдаёт действительное за Желаемое..
..ни один трезвый человек, писавший ранее код на Ruby (или Python) -- уже больше никогда не сможет что-то писать на Java :-)... он уже исколечен -- неизлечимо!
Scala (или Groovy) -- вполне возможно, ещё.. но точно не Java :-D
| |
|
1.29, KaE (ok), 14:20, 09/11/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
>Для того чтобы обеспечить непрерывную работу сервиса при подобной нагрузке
>разработчики предприняли ряд мер, в том числе связанных с заменой критичных к
>производительности компонентов инфраструктуры с изначальной используемой
>реализации на языке Ruby на варианты, переписанные на языке Java.
Быстро однако на явку переписали... меньше чем за час полагаю:)
| |
1.36, Аноним (-), 15:18, 09/11/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Этак до них через пару лет допрет что можно еще раза в 3 быстрее сделать, если на плюсы переписать :). Ну вон до фэйсбука дошло =)
| |
|
2.55, зачем имя анониму (?), 19:21, 09/11/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Этак до них через пару лет допрет что можно еще раза в
> 3 быстрее сделать, если на плюсы переписать :). Ну вон до
> фэйсбука дошло =)
Дошло и они сделали эпический костыль. Написали транслятор пхп-скриптов в плюсы, что уже изврат. Так оно ещё и далеко не совместимо с обычным пхп. Не слышал, чтобы кто-то им пользовался кроме создателей.
| |
|
3.62, Crazy Alex (ok), 20:17, 09/11/2012 [^] [^^] [^^^] [ответить]
| +/– |
В проектах таких масштабов поголовно какая-нибудь своя экзотика, которая никому больше не нужна. Ибо за счёт величины окупается. А что до костыля - судя по всему, осознали, что PHP обойтись не удастся, слишком поздно - слишком резко пользовательская база выросла. А потом оказалось дешевле костылить, чем рисковать, что какие-то другие скрипты окажутся несовместимыми и наделают проблем. А вот в плюсы для Александреску оттранслировать не слишком большая сложность. Что до несовместимости - на высоких нагрузках и больших проектах всё равно разные eval не используются, медленные они и чреватые.
| |
3.84, Аноним (-), 10:25, 10/11/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Дошло и они сделали эпический костыль. Написали транслятор пхп-скриптов в плюсы, что уже изврат.
Ну, когда тебе придется за свое бабло покупать в 3 раза больше серверов - ты еще и не так раскорячишься :)
| |
|
|
1.47, Loooooker (ok), 17:07, 09/11/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Ага, и тут же баги посыпались "В Twitter официально сообщили, что ситуация со сбросом паролей возникла из-за технической ошибки в системе и фактического взлома не было" http://www.cybersecurity.ru/crypto/163959.html
Есть вероятность, что это не связанные между собой события, но также есть вероятность, что связанные ;)
| |
|
|
|
4.70, Аноним (-), 21:47, 09/11/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
По сравнению с языком, который ориентирован на компиляцию, а не интерпретацию? Возможно. А вот по сравнению с php/perl/python/etc очень даже не тормоз.
| |
|
|
6.72, Аноним (-), 21:58, 09/11/2012 [^] [^^] [^^^] [ответить]
| +2 +/– |
Не доказано, что ты имеешь какое-то представление о том, что ты пишешь, а моё сообщение выше является отражением истины.
| |
|
|
8.86, Аноним (-), 10:26, 10/11/2012 [^] [^^] [^^^] [ответить] | +/– | А вам не кажется что громкие заявы надо бенчами подкреплять Будет любопытно пос... текст свёрнут, показать | |
|
|
|
|
|
|
|
|