The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от opennews on 09-Ноя-12, 12:04 
В блоге разработчиков системы микроблогов Twitter опубликован (http://engineering.twitter.com/2012/11/bolstering-our-infras...) отчёт о том, как сервису удалось справиться со шквалом публикации сообщений во время проведения выборов президента США. В день выборов интенсивность публикации достигала 327 452 твитов в минуту, а пиковое значение составило 15 107 твитов в секунду. Для того чтобы обеспечить непрерывную работу сервиса при подобной нагрузке разработчики предприняли ряд мер, в том числе связанных с заменой критичных к производительности компонентов инфраструктуры с изначальной используемой реализации на языке Ruby на варианты, переписанные на языке Java.


В качестве основной причины перехода на Jаva называется излишне высокая нагрузка на CPU при выполнении интерпретатора Ruby, вызванная в основном особенностями работы сборщика мусора. Для решения данной проблемы в недрах Twitter ведётся (http://engineering.twitter.com/2011/03/building-faster-ruby-...) разработка собственного сборщика мусора для Ruby - Kiji и проводится оптимизация runtime-компонентов, но несмотря на это  начались действия по постепенному переходу с Ruby на Java. В настоящее время стеком на базе JVM уже обслуживаются запросы мобильных клиентов.

Одновременно можно отметить информацию, опубликованную (http://www.theregister.co.uk/2012/11/09/facebook_open_source.../) социальной сетью Facebook. За день Facebook приходится сохранять  пол петабайта данных, за год хранилище увеличивается примерно на 180 петабайт. Для поддержания хранилища такого размера в Facebook используется (https://www.facebook.com/notes/facebook-engineering/under-th...) модифицированная версия открытой платформы для распределённой обработки данных Apache Hadoop, развиваемая под именем Hadoop Corona. Реализация от Facebook отличается переработанным механизмом Map-Reduce, оптимизированным для одновременного отслеживания большего числа задач, повышения масштабируемости и уменьшения задержек. Отныне Hadoop Corona вышел за рамках внутренней разработки Facebook и доступен всем желающим. Код проекта опубликован (https://github.com/facebook/hadoop-20/tree/master/src/contri...) на GitHub.

URL: http://engineering.twitter.com/2012/11/bolstering-our-infras...
Новость: https://www.opennet.ru/opennews/art.shtml?num=35277

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по ответам | RSS]

1. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  –18 +/
Сообщение от A.Stahl on 09-Ноя-12, 12:04 
Что только не придумают лишь бы не писать на нормальном компилируемом языке.
Впрочем, пусть развлекаются.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +1 +/
Сообщение от Аноним (??) on 09-Ноя-12, 12:07 
>> переписанные на языке Java.

у них там кажеться scala использовалась

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  –3 +/
Сообщение от Аноним (??) on 09-Ноя-12, 12:11 
Почему-то мне трудно переход с Ruby на Java удачным решением или хотя бы приемлемым.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от Аноним (??) on 09-Ноя-12, 12:12 
То есть Ruby слили как тормоза?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  –1 +/
Сообщение от Устим on 09-Ноя-12, 12:15 
суть JVM, а на чес писать без разницы
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

6. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от Аноним (??) on 09-Ноя-12, 12:28 
Да.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

7. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от Аноним (??) on 09-Ноя-12, 12:34 
Расскажите нам, какое же решение по-вашему удачное? С или ASM?
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

8. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +1 +/
Сообщение от NikolayV81 email on 09-Ноя-12, 12:35 
А зачем им компилятор? у них нет сложных задач для CPU по большому счёту (нет расчётов нет преобразований которые бы делались не оптимизированными библиотеками), им нужна масштабируемость по данным и по потокам, а так же независимость от аппаратной составляющей (завтра вдруг у АМД выхорит с x86+ARM? или ещё у когото...)
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

9. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  –24 +/
Сообщение от m1ck on 09-Ноя-12, 12:39 
ты чо думаешь ты умнее инженеров твиттера? я сомневаюсь...
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

10. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +1 +/
Сообщение от Дима email(??) on 09-Ноя-12, 12:40 
если быть точным  - не всегда так
например груви в 50-500 раз медленее
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

11. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от pkunk (ok) on 09-Ноя-12, 12:42 
Про "переписывание" в оригинале ни слова. Сказано только про использование JVM.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

12. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +6 +/
Сообщение от Аноним (??) on 09-Ноя-12, 12:44 
Согласен полностью. Java отличный выбор для проектов такого масштаба. Вообще, новость о том что они начали уходить от Ruby проскакивала уже давно — http://readwrite.com/2011/04/11/twitter-drops-ruby-for-java

Просто в Twitter'е правильно выбирают инструменты. Ruby хорош на старте. А по мере роста потребностей переходят к более производительным платформам.

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

13. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  –1 +/
Сообщение от анргол on 09-Ноя-12, 12:53 
вы сами ответили на свой вопрос.
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

14. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +1 +/
Сообщение от EuPhobos (ok) on 09-Ноя-12, 12:54 
Теперь на заявления типа "Ява - Тормоз!", можно смело писать "А твой <язык> сможет обсчитать 15 107 твитов в секунду?!" =))
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

15. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от VoDA (ok) on 09-Ноя-12, 12:55 
У меня одного вопрос почему опубликовали на GitHub, а не отдали в Apache???

По идее всем (и FB) выгоднее смержиться с основной веткой. Или я не прав? ;)

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

16. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от develop7 (ok) on 09-Ноя-12, 12:57 
И никакой это не Golden Hammer.
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

18. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +4 +/
Сообщение от Аноним (??) on 09-Ноя-12, 13:02 
На 15 107 параллельно работающих серверах с 16 ГБ памяти на каждом? Мммм... дайте подумать... думаю сможет :)
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

19. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +8 +/
Сообщение от metallic email(ok) on 09-Ноя-12, 13:03 
На "нормальном копилируемом языке" они бы тоже самое писали лет 20, а еще лет 10 потом это отлаживали.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

20. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от Аноним (??) on 09-Ноя-12, 13:03 
Не-не.

"А сможешь ли ты поддерживать систему, которая может обсчитать 15 107 твитов в секунду на твоем <языке> ?!"

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

21. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от XoRe (ok) on 09-Ноя-12, 13:10 
> Не-не.
> "А сможешь ли ты поддерживать систему, которая может обсчитать 15 107 твитов
> в секунду на твоем <языке> ?!"

Ещё круче: а создай систему, которая будет обсчитывать... :)

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

22. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от Аноним (??) on 09-Ноя-12, 13:12 
уже нет
http://objectscape.blogspot.de/2012/08/groovy-20-performance...
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

23. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +2 +/
Сообщение от Аноним (??) on 09-Ноя-12, 13:17 
шило на мыло)
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

24. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  –1 +/
Сообщение от Антоним on 09-Ноя-12, 13:31 
Ну так сделай, если реально можешь.
Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

25. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +2 +/
Сообщение от sd (??) on 09-Ноя-12, 13:46 
Где по ссылке хоть одно слово про язык java?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

26. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +3 +/
Сообщение от Ищавин (ok) on 09-Ноя-12, 13:50 
Трудно потому как есть JRuby, которая в отличии от MRI и REE позволяет решить проблему утилизации всех ядер. Если что, даже Java код можно интегрировать. Теперь особенно странно выглядит то, как программисты твиттера зачем-то развивали сильно отстающую ветку Ruby внося не принципиальный для них изменения. Все это человеко-время можно было спокойно потратить на помощь проекту JRuby.
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

29. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +1 +/
Сообщение от KaE (ok) on 09-Ноя-12, 14:20 
>Для того чтобы обеспечить непрерывную работу сервиса при подобной нагрузке
>разработчики предприняли ряд мер, в том числе связанных с заменой критичных к
>производительности компонентов инфраструктуры с изначальной используемой
>реализации на языке Ruby на варианты, переписанные на языке Java.

Быстро однако на явку переписали... меньше чем за час полагаю:)

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

30. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от Xasd (ok) on 09-Ноя-12, 14:32 
дауж! автор новости (переводчик на русский язык) -- явно выдаёт действительное за Желаемое..

..ни один трезвый человек, писавший ранее код на Ruby (или Python) -- уже больше никогда не сможет что-то писать на Java :-)... он уже исколечен -- неизлечимо!

Scala (или Groovy) -- вполне возможно, ещё.. но точно не Java :-D

Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

31. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от Аноним (??) on 09-Ноя-12, 14:41 
Си, конечно,  сможет. И при этом на значительно более слабом железе.
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

32. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  –1 +/
Сообщение от Анончик on 09-Ноя-12, 14:56 
Я бы порекомендовал ASM. В любом случае человек умеет оптимизировать код лучше, чем какой-то тупой компилятор!
Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

33. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  –1 +/
Сообщение от Аноним (??) on 09-Ноя-12, 15:10 
> На "нормальном копилируемом языке" они бы тоже самое писали лет 20

За 20 лет целый Linux отбабахали. Вы такую монстряку и на яве будете писать не меньше. А потом еще полвека в профайлере упираться - скорость повышать до минимально приемлимой.

Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

34. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +1 +/
Сообщение от Аноним (??) on 09-Ноя-12, 15:15 
> чем какой-то тупой компилятор!

Когда как. У компилятора все шансы уделать человека например на глобальной оптимизации распределения регистров. Вы задолбаетесь анализировать мег кода на предмет как он юзает регистры и оптимизить это. А компилеру пофиг - он железный. По поводу чего асм имеет смысл в спецслучаях типа ранней инициализации железа и вставок в наиболее критичных местах кода, как в кодеках. Да, если адресно раскидать SIMD регистры в куске кода на полкило и там наибоелее горячий цикл, кодек может выиграть по скорости в разы. Кстати при том объеме бабла которое твиттерообразные тратят на сервера - оптимизация не является маразмом. Ну по крайней мере фэйсбук транслятор пыха в си++ накатали. Наверное потому что так работает быстрее, да? :)

Ответить | Правка | ^ к родителю #32 | Наверх | Cообщить модератору

35. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от Аноним (??) on 09-Ноя-12, 15:16 
> Apache???

Наверное потому что туда проприетарщики обычно сливают всякую дохлятину. Этакий могильник для отработанного ядерного топлива.

Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

36. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от Аноним (??) on 09-Ноя-12, 15:18 
Этак до них через пару лет допрет что можно еще раза в 3 быстрее сделать, если на плюсы переписать :). Ну вон до фэйсбука дошло =)
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

37. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  –1 +/
Сообщение от Аноним (??) on 09-Ноя-12, 15:20 
поддерживаю, в таких высоко нагруженных проектах нужно уходить на jvm. Ну уних там clojure в storm есть.
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

38. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от Аноним (??) on 09-Ноя-12, 15:21 
> И никакой это не Golden Hammer.

Golden, не golden, а что-то кодеки никто на яве не пишет. Си и куски SIMD асма. Вот там да, за скорость рубятся. Потому что в отличие от твиттеров для пользователя аргумент вида "ой, докупите еще серверов, нам влом оптимизировать" как-то не очень катит :)

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

39. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +1 +/
Сообщение от Аноним (??) on 09-Ноя-12, 15:22 
> Не-не.
> "А сможешь ли ты поддерживать систему, которая может обсчитать 15 107 твитов
> в секунду на твоем <языке> ?!"

Не смогу. Ибо она не нужна.

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

40. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от Аноним (??) on 09-Ноя-12, 15:35 
> Да.

Рапидная разработка как есть:
0) Быстро налабать на коленке хрень.
1) Забить на архитектуру, дебаг, оптимизацию, профайлинг и прочую ненyжную фигню.
2) Безбашенно вывалить хрень в продакшн, ибо в ж...е свистит ветер.
3) По возмущенным воплям хомячков оставшихся без сервиса осознать что получилась хрень.
4) РеFUCKторинг в надежде что если достаточно посластить какашку то получится шоколад.
5) Оознать что опять получилась какая-то хрень.
6) goto 4.
6) Когда крутиться в цикле 4-6 окончательно задолбало, выкатить то что получилось в виде как есть в продакшн.
7) Осознать что с перфомансом опять Ж и хомячки отщипывают по кусочку, угрожая оставить от авторов хрени лишь обглоданные скелеты.
8) Экстренно докупить серверов чтобы затея не накрылась медным тазом совсем.
9) Понять что не очень помогает, уходит вагон бабла во все щели и по мере роста хомячков все-равно все начинает загибаться.
10) Осознать что архитектура - УГ, но поскольку все уже работает и стадо хомячков уже постит - рыпаться поздно, ибо при любом крупном факапе хомячки разбегутся во все стороны.
11) Попытаться игнорировать проблему.
12) Осознать что хомячки таки обглодают до скелета отщипывая по кусочку.
13) Плюнуть на все и скрипя зубами переписать заново на другом ЯП.
14) To be continued.

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

41. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +1 +/
Сообщение от Аноним (??) on 09-Ноя-12, 15:36 
> <язык> сможет обсчитать 15 107 твитов в секунду?!" =))

Пардон, а что их там "обсчитывать"? Это ж тупые короткие сообщения. Счет то где?

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

42. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  –1 +/
Сообщение от Аноним (??) on 09-Ноя-12, 15:39 
> Ну так сделай, если реально можешь.

У опсосов центры обработки СМСок которые тоже по 140 символов их миллиардами ворочают, и ничо, живые.

Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

43. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +1 +/
Сообщение от Аноним (??) on 09-Ноя-12, 15:49 
> уже исколечен -- неизлечимо!

^^^^^^^^^^^ Натурально.

Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

44. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от me (??) on 09-Ноя-12, 16:00 
> завтра вдруг у АМД выхорит с x86+ARM

... то под неё из воздуха тут же материализуется jvm? вряд ли

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

45. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  –1 +/
Сообщение от Amsterdam Navigator on 09-Ноя-12, 16:02 
Пора вылезать из танка. Кодеки сейчас пишут уже даже на JavaScript.
Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

46. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от Аноним из Баку email on 09-Ноя-12, 17:03 
чтото я не увидел в оригинале чтоб разговор был про жабу.  а только лишь про jvm.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

47. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от Loooooker (ok) on 09-Ноя-12, 17:07 
Ага, и тут же баги посыпались "В Twitter официально сообщили, что ситуация со сбросом паролей возникла из-за технической ошибки в системе и фактического взлома не было" http://www.cybersecurity.ru/crypto/163959.html
Есть вероятность, что это не связанные между собой события, но также есть вероятность, что связанные ;)
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

48. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от iZEN (ok) on 09-Ноя-12, 17:49 
Это прорыв!
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

49. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  –1 +/
Сообщение от Аноним (??) on 09-Ноя-12, 18:34 
> У компилятора все шансы уделать человека например на глобальной оптимизации распределения регистров. Вы задолбаетесь анализировать мег кода на предмет как он юзает регистры и оптимизить это
> асм имеет смысл в спецслучаях типа ... вставок в наиболее КРИТИЧНЫХ местах кода, как в кодеках.

Взаимоисключающие параграфы

Ответить | Правка | ^ к родителю #34 | Наверх | Cообщить модератору

50. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +2 +/
Сообщение от зачем имя анониму on 09-Ноя-12, 18:57 
Вы не находите, что Twitter и Linux — это «немного» разные вещи?
Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору

51. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +1 +/
Сообщение от Аноним (??) on 09-Ноя-12, 18:59 
Common Lisp
SBCL выдает производительность одного порядка с сишной
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

52. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +3 +/
Сообщение от зачем имя анониму on 09-Ноя-12, 19:04 
> а что-то кодеки никто на яве не пишет.

А разработчики твиттера кодеки чтоли пишут? Или вы на самом деле не видите разницы? Откуда ж вас столько, упоротых?

Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

53. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +1 +/
Сообщение от зачем имя анониму on 09-Ноя-12, 19:12 
Ну да, так и есть. Это же не Open Source и не «Just For Fun». Обычная коммерческая разработка — требуется ровно такое качество, которое устроит пользователей, а они обычно неслишком привередливые. Вообще заметил интересный момент — многие знакомые (далекие от IT), увидев сайт в дауне, вообще думают что это у них самих «инет сломался». У Твиттера довольно часто случаются глобальные (и не очень) факапы. И ничего — пользователи вроде никуда не уходят.
Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору

54. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от trdm (ok) on 09-Ноя-12, 19:16 
> Я бы порекомендовал ASM.

Это надо говорить с житрожопым выражением лица, иначе люди не поймут.

сишка вполне могла бы взлететь. Видно у твитера просто недобор высококвалифицированных кадров - решили, что лучше купить сотню-другую серверов, чем платить десятку-другому инженеров.

Ответить | Правка | ^ к родителю #32 | Наверх | Cообщить модератору

55. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от зачем имя анониму on 09-Ноя-12, 19:21 
> Этак до них через пару лет допрет что можно еще раза в
> 3 быстрее сделать, если на плюсы переписать :). Ну вон до
> фэйсбука дошло =)

Дошло и они сделали эпический костыль. Написали транслятор пхп-скриптов в плюсы, что уже изврат. Так оно ещё и далеко не совместимо с обычным пхп. Не слышал, чтобы кто-то им пользовался кроме создателей.

Ответить | Правка | ^ к родителю #36 | Наверх | Cообщить модератору

56. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +3 +/
Сообщение от Аноним (??) on 09-Ноя-12, 19:47 
Единственная цель существования кодеков - экономить ресурсы, сжимая контент. Кодек обязан быть производительным, причем более производительным и жмущим, чем предшественники, иначе в нем просто нет смысла.
А кроме кодеков как бы есть еще прикладные программы, делающие сами по себе что-то полезное. Медленная, но написанная до конца прикладная программа гораздо полезнее быстрой, но ничего не умеющей
Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

57. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +1 +/
Сообщение от BratSinot email on 09-Ноя-12, 19:52 
> За 20 лет целый Linux отбабахали.

Дырка на дырке, кривизна на кривизне.

> скорость повышать до минимально приемлимой.

Вы идиот. Они JVM используют не для вычислений, а для организации данных.

Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору

58. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +1 +/
Сообщение от Crazy Alex (ok) on 09-Ноя-12, 20:06 
Вот именно. Но людям понятие "коммерчески оправданно" незнакомо, судя по всему. И то, как запускается социальный стартап - тоже. Объясняю. На начальном этапе непонятно, взлетит или нет, поэтому затраты должны быть минимизированы. Запускается едва рабочий прототип. Если интерес есть - начинается раскрутка. Основные затраты идут на неё, на разработку - ровно столько чтобы поддреживалась работа системы на минимально приемлемом уровне. Задача - набрать критическую массу пользователей. И только когда она набрана, когда появляются конкуренты-подражатели, возникает необходиомсть хоть как-то "держать марку". И это не со зла - эта стратегия просто минимизирует шанс прогореть, выпустившись слишком поздно или отдав своих клиентов клону (который разрабатывать всегда проще и быстрее).
Ответить | Правка | ^ к родителю #53 | Наверх | Cообщить модератору

59. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  –1 +/
Сообщение от Crazy Alex (ok) on 09-Ноя-12, 20:07 
Что характерно - обычно как раз на яве и писаные.
Ответить | Правка | ^ к родителю #42 | Наверх | Cообщить модератору

60. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от Crazy Alex (ok) on 09-Ноя-12, 20:10 
Хм, покажите что-то большое-вебовское, писанное на сишечке. Самое близкое, что приходит в голову - фейсбук, осиливший нанять Александреску и сделавший свой компилятор PHP. Но чтобы на сях саму бизнес-логику писали - и не припомню. А поскольку не верится, чо все поголовно дураки - значит чем-то это не оптимально...
Ответить | Правка | ^ к родителю #54 | Наверх | Cообщить модератору

61. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от Crazy Alex (ok) on 09-Ноя-12, 20:12 
Диспетчеризация (кому должно прилететь), обработка хэштегов, упоминнаий юзеров на таких количествахв релаьном времени становятся делом... интересным, скажем так. Причём там дело не в объёмах сообщений, а больше в количестве действий, которые нужно на каждое сделать
Ответить | Правка | ^ к родителю #41 | Наверх | Cообщить модератору

62. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от Crazy Alex (ok) on 09-Ноя-12, 20:17 
В проектах таких масштабов поголовно какая-нибудь своя экзотика, которая никому больше не нужна. Ибо за счёт величины окупается. А что до костыля - судя по всему, осознали, что PHP обойтись не удастся, слишком поздно - слишком резко пользовательская база выросла. А потом оказалось дешевле костылить, чем рисковать, что какие-то другие скрипты окажутся несовместимыми и наделают проблем. А вот в плюсы для Александреску оттранслировать не слишком большая сложность. Что до несовместимости - на высоких нагрузках и больших проектах всё равно разные eval не используются, медленные они и чреватые.
Ответить | Правка | ^ к родителю #55 | Наверх | Cообщить модератору

63. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от Crazy Alex (ok) on 09-Ноя-12, 20:18 
Они вроде на скале писали, думаю, так и продолжили
Ответить | Правка | ^ к родителю #46 | Наверх | Cообщить модератору

64. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +2 +/
Сообщение от filosofem (ok) on 09-Ноя-12, 20:43 
Java, Ruby, Twitter ― три одинаково нужные вещи.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

65. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  –2 +/
Сообщение от Amsterdam Navigator on 09-Ноя-12, 20:59 
>Откуда ж вас столько, упоротых

+1

Ответить | Правка | ^ к родителю #52 | Наверх | Cообщить модератору

66. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от Аноним (??) on 09-Ноя-12, 21:00 
ага, Twitter был первым кто начал использовать Скалу в продакшне (если я правильно помню книгу Одерского)
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

67. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +1 +/
Сообщение от Аноним (??) on 09-Ноя-12, 21:18 
Ненужно
Ответить | Правка | ^ к родителю #64 | Наверх | Cообщить модератору

68. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +1 +/
Сообщение от Аноним (??) on 09-Ноя-12, 21:32 
Ruby - отличная вещь и нужна
Ответить | Правка | ^ к родителю #64 | Наверх | Cообщить модератору

69. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от Аноним (??) on 09-Ноя-12, 21:34 
А вот в тексте пишут что тормоза.
Ответить | Правка | ^ к родителю #68 | Наверх | Cообщить модератору

70. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +1 +/
Сообщение от Аноним (??) on 09-Ноя-12, 21:47 
По сравнению с языком, который ориентирован на компиляцию, а не интерпретацию? Возможно. А вот по сравнению с php/perl/python/etc очень даже не тормоз.
Ответить | Правка | ^ к родителю #69 | Наверх | Cообщить модератору

71. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +1 +/
Сообщение от Аноним (??) on 09-Ноя-12, 21:55 
Это не доказано.
Ответить | Правка | ^ к родителю #70 | Наверх | Cообщить модератору

72. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +2 +/
Сообщение от Аноним (??) on 09-Ноя-12, 21:58 
Не доказано, что ты имеешь какое-то представление о том, что ты пишешь, а моё сообщение выше является отражением истины.
Ответить | Правка | ^ к родителю #71 | Наверх | Cообщить модератору

73. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +2 +/
Сообщение от Аноним (??) on 09-Ноя-12, 22:05 
Между прочем питон шустрее намного чем руби.
Ответить | Правка | ^ к родителю #72 | Наверх | Cообщить модератору

74. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  –1 +/
Сообщение от Аноним (??) on 09-Ноя-12, 22:11 
Только в твоих фантазиях.
Ответить | Правка | ^ к родителю #73 | Наверх | Cообщить модератору

75. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от trdm (ok) on 09-Ноя-12, 22:18 
Так а факебук тебя почему не строил?
Ответить | Правка | ^ к родителю #60 | Наверх | Cообщить модератору

76. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от VoDA (ok) on 10-Ноя-12, 01:00 
>> Apache???
> Наверное потому что туда проприетарщики обычно сливают всякую дохлятину. Этакий могильник
> для отработанного ядерного топлива.

так FB через Apache и получил Hadoop. Значит могилки то свежие, а если некромант опытный, то и оживить получится ;)))

Ответить | Правка | ^ к родителю #35 | Наверх | Cообщить модератору

77. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +1 +/
Сообщение от Аноним (??) on 10-Ноя-12, 10:07 
>> За 20 лет целый Linux отбабахали.
> Дырка на дырке, кривизна на кривизне.

Ну вы же на вашей яве лучше почему-то не написали. Кстати в каждом апдейте явы почему-то фиксят столько дырок что на пятерых линуксов хватит. WTF? :)

Ответить | Правка | ^ к родителю #57 | Наверх | Cообщить модератору

78. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от Аноним (??) on 10-Ноя-12, 10:08 
> Вы не находите, что Twitter и Linux — это «немного» разные вещи?

По масштабу проекта и сложности - пингвин сделает любого твиттера раз в 100500.


Ответить | Правка | ^ к родителю #50 | Наверх | Cообщить модератору

79. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +1 +/
Сообщение от Аноним (??) on 10-Ноя-12, 10:10 
> Кодеки сейчас пишут уже даже на JavaScript.

И где это барахло применяется? Ах, чисто академический интерес - показать что в принципе и на нем что-то такое можно накорябать? Ну да, чисто теоретически и на брейнфаке можно, не то что на JS. С точки зрения теории все ЯП равноправны. С точки зрения практики - что-то желающих использовать тормозилово на JS именуемое кодеком что-то не густо пока.

Ответить | Правка | ^ к родителю #45 | Наверх | Cообщить модератору

80. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +1 +/
Сообщение от Аноним (??) on 10-Ноя-12, 10:14 
И чего вы "обсчитываете" в тупых 140-символьных сообщениях?
Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

81. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от Аноним (??) on 10-Ноя-12, 10:22 
> Взаимоисключающие параграфы

На первый взгляд - да. Но на самом деле человек может сильно уделать компилятор локально, но глобально он проигрывает если кода много, просто не осилив уместить мег кода в свою голову и полностью проанализировать все возможности оптимизации.

Упомянутый подход позволяет сочетать лучшее из обоих подходов. Возможность оного основана на том что можно немного пожертвовать оптимальностью в не сильно горячих местах в пользу оптимальности горячих мест по максимуму. Лишние 2 обращения в регистры в куске кода который выполняется раз в час никто не заметит. Час плюс-минус пол-микросекунды остается для человека часом. А вот лишние 2 обращения в регистры в добавок к всего 2 обращением которые были в цикле - посадят скорость тугого цикла в 2 раза. И человеки очень даже заметят если вместо часа который раньше выполнялся цикл вдруг станет 2 часа.

Ответить | Правка | ^ к родителю #49 | Наверх | Cообщить модератору

82. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от Аноним (??) on 10-Ноя-12, 10:22 
> PHP. Но чтобы на сях саму бизнес-логику писали - и не припомню.

А если поискать немного - окажется что всяких там шаблонизаторов и прочая на си++ есть.

Ответить | Правка | ^ к родителю #60 | Наверх | Cообщить модератору

83. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от Аноним (??) on 10-Ноя-12, 10:23 
> если некромант опытный, то и оживить получится ;)))

Видимо у них мало опыта в некромансии и поэтому они предпочли нечто более живое :)

Ответить | Правка | ^ к родителю #76 | Наверх | Cообщить модератору

84. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от Аноним (??) on 10-Ноя-12, 10:25 
> Дошло и они сделали эпический костыль. Написали транслятор пхп-скриптов в плюсы, что уже изврат.

Ну, когда тебе придется за свое бабло покупать в 3 раза больше серверов - ты еще и не так раскорячишься :)

Ответить | Правка | ^ к родителю #55 | Наверх | Cообщить модератору

85. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +1 +/
Сообщение от Аноним (??) on 10-Ноя-12, 10:25 
> Ненужно

Капитан, я вас узнал! :)

Ответить | Правка | ^ к родителю #67 | Наверх | Cообщить модератору

86. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от Аноним (??) on 10-Ноя-12, 10:26 
> Между прочем питон шустрее намного чем руби.

А вам не кажется что громкие заявы надо бенчами подкреплять? Будет любопытно посмотреть на битву слоупоков :)

Ответить | Правка | ^ к родителю #73 | Наверх | Cообщить модератору

87. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +2 +/
Сообщение от ДяДя on 10-Ноя-12, 10:48 
:-)
Java компилируется в байткод.
Байткод компилируется в нативный код.
Перед компиляцией происходит анализ конкретного оборудования и конкретного приложения.

HotSpot сейчас компилит всё быстрым компилятором, а когда обнаруживаются места, которые требуют оптимизацию, то происходит их перекомпиляция сложным компилятором. Сложный компилятор генерирует код на уровне GCC -O3 или лучше.

Какой "нормальный язык" позволяет реализовать подобное ??

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

88. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  –1 +/
Сообщение от Аноним (??) on 10-Ноя-12, 13:14 
А я не сомниваюсь, что он так думает.
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

89. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от Ytch on 10-Ноя-12, 16:54 
> Это прорыв!

А что именно прорвалось-то?

Ответить | Правка | ^ к родителю #48 | Наверх | Cообщить модератору

90. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +3 +/
Сообщение от другой аноним on 10-Ноя-12, 17:18 
> ты чо думаешь ты умнее инженеров твиттера?

вообще-то человек соглашается с их решением, а не критикует и предлагает что-то иное

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

91. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от другой аноним on 10-Ноя-12, 17:31 
> И чего вы "обсчитываете" в тупых 140-символьных сообщениях?

вероятно, гэбистские фильтры на ключевые слова и семантический анализ сообщений (в поисках скрытого смысла :) )

Ответить | Правка | ^ к родителю #80 | Наверх | Cообщить модератору

92. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от dxd on 10-Ноя-12, 19:48 
только если писать уродливый ассемблерообразный код
Ответить | Правка | ^ к родителю #51 | Наверх | Cообщить модератору

93. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от iZEN (ok) on 10-Ноя-12, 20:13 
Запусти JRuby.
Ответить | Правка | ^ к родителю #69 | Наверх | Cообщить модератору

94. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от Amsterdam Navigator on 10-Ноя-12, 23:32 
Академический интерес - это зачатие вас. А эта кодовая база начнет активно применяться в следующей пятилетке. И проблема тут не в выборе языка, а в том, что JIT JS уже достаточно для подобных применений.
Ответить | Правка | ^ к родителю #79 | Наверх | Cообщить модератору

95. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +1 +/
Сообщение от anonnymous on 11-Ноя-12, 04:14 
> Расскажите нам, какое же решение по-вашему удачное? С или ASM?

Erlang/OTP ]:->

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

96. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от Аноним (??) on 11-Ноя-12, 20:01 
Людям надо во что-то верить. Некоторые верят в инопланетян, а некоторые в то, что их любимый язык самый лучший, потому что программы на нем самые быстрые, и неважно, насколько эти программы выполняют свои функции, удобны, безглючны, гибки и легки в поддержке
Ответить | Правка | ^ к родителю #58 | Наверх | Cообщить модератору

97. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от Аноним (??) on 11-Ноя-12, 20:03 
Ну так. Суровая оптимизация редко делает код красивее и яснее
Ответить | Правка | ^ к родителю #92 | Наверх | Cообщить модератору

98. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от anonymous (??) on 12-Ноя-12, 22:08 
>Java компилируется в байткод.  Байткод компилируется в нативный код. Перед компиляцией >происходит анализ конкретного оборудования и конкретного приложения. HotSpot сейчас >компилит всё быстрым компилятором, а когда обнаруживаются места, которые требуют >оптимизацию, то происходит их перекомпиляция сложным компилятором. Сложный компилятор >генерирует код на уровне GCC -O3 или лучше. Какой "нормальный язык" позволяет реализовать >подобное ??

Не ну это то все понятно, непонятно как-раз почему "нормальный язык" все равно быстрее.

Ответить | Правка | ^ к родителю #87 | Наверх | Cообщить модератору

99. "Twitter переходит с Ruby на Java. Facebook открыл код Map-Re..."  +/
Сообщение от XoRe (ok) on 13-Ноя-12, 12:19 
> И чего вы "обсчитываете" в тупых 140-символьных сообщениях?

i++ :)
Сохранить, проиндексировать, распарсить на наличие тегов/урлов, сделать ссылки кликабельными.
А ещё отправить обновление всем фолловерам (а их могут быть миллионы).

Ответить | Правка | ^ к родителю #80 | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру