Только для фанатиков, которые внятно свою позицию объяснить не могут
С Concurrent Mark and Sweep, вроде, уже не останавливает. Что не удивительно, так как Jesper Wilhelmsson, который ведет разработку GC для Hotspot и JRockit, я вляется автором и соавтором вот таких вот работ: erlanger.ru/...ing-concurrency на основе Erlang’а
Ага, ага, с приседаниями типаДжава тоже отлично справляется с такими нагрузками: timyang.net/....va-performance
150000
-Xmx1024m -Xms1024m -XX:+UseConcMarkSweepGC
И ничего не сказано про потребление памяти.
Стек является ADT, и ему совершенно не обязательно использовать процессор.
От того, что процессы Erlang’а не используют потоки ОСи, не делает их менее потоками.
Так как специалистов, которые знают Erlang и ищут работу, мало, то легче обучить :)
Это основной аргумент фанатиков — то что нам не нравится — гавно
Основной аргумент фанатиков — это ссылки на синтетические тексты и возведение их в абсолют
У них эмуляция кучи и стека, иначе они кушали бы столько как и джавовские.
Green threads из джавы выпилили лет 10 назад, из-за плохой кроссплатформенности и производительности.
После этой бредятины общение заканчиваю в виду невменяемости оппонента.
Ну приведи бенчмарк получше вместо вешания лапши.
Все бенчмарки, особенно сугубо синтетические, как на shootout’е, суть гуано. Достаточно посмотреть, где и как тот или иной язык применяется.
А че, там память не выделяют?
Выделяют. И? Если Erlang не годится для числодробилок на основе числодробительного теста будем делать выводы про GC? Нет, конечно. Но почему-то именно это вы пытаетесь сделать.
Умеет пару десятков тысяч потоков, и у каждого потока есть своя отдельная локальная куча.
Только загнется выделять их на средней машине. И гарантий soft-realtime GC не предоставит
Это не говоря о том что у эрланга потоки не настоящие, а аналог чего то типа ExecutorService в джаве.
Вполне себе настоящие. ТО, что они не соотносятся один-в-один с потоками в системе, не делает их ненастоязими. У каждого свой heap и stack, у каждого свой GC.
Ну и вообще, курить en.wikipedia.org/...i/Green_threads для просветления
И тут: erlanger.ru/...ing-concurrency для окончательного просветления
Для того, чтобы разобраться в Erlang’е требуется пару дней. Чтобы начать писать production-код требуется от двух недель до месяца. Мы набираем народ, который Erlang не знает.
Удивительно, что еще остались люди, которые всерьез воспринимают бенчмарки на shootout.
Не говоря уже о том, что ни один из этих бенчмарков ничего не говорит про GC.
А про многпоточность... Java уже умеет запускать пару десятков тысяч потоков и ее GC умеет с ними работать?
Ключевое слово: я знаю про Эрланг, и что с ним происходит, поболее людей, которые видели Эрланг только на сканах фотографий с интернета
Где он сливает Джаве? На каких задачах? Эрланговский GC работает с учетом SMP и многопоточности, и при этом не нарушает требования к soft-realtime.
На Erlang’е, думаю, полно кода, который написали и не трогают, не потому что страшно, а потому что работает :)
У них свой или ejabberd. Ну и пруф!
Сервис есть? Есть. Обрабатывает миллиарды запросов ежедневно? Обрабатывает. Напиисан на Erlang’е? Написан. Архитектура в принципе описана: www.erlang-factory.com/...gatFacebook.pdf
Я не понял, что вам не нравится?
> сервера Call of Duty 2, инфраструктура MochiMedia, Wooga и GitHub’а,Я про живые сервисы (сервисы, а не утилитные куски)
Что значит сервисы? Что значит утилитные куски? То, что оно не торчит наружу в виде API, не значит, что это шелл-скрипт, работающий раз в сутки на шаред хостинге.
CoD2: www.erlang-factory.com/...sonShooters.pdfGitHub: www.infoq.com/...lang-and-github
Но да, это мертвые сервисы, написанные Васями Пупкиными для своих шаред хостингов.
Где это у Erlang’а страшный синтаксис? Компактынй и предельно понятный уже через пять минут — это есть
Как уже сказали, Армстронг и Чезарини. Вторая точно есть на русском: http://erlanger.ru/page/2055/f-chezarini-s-tompson-programmirovanie-v-erlang
Ну и чатик (xmpp://[email protected]) и рассылка (groups.google.com/...rlang-russian/, как же без этого
Многие архитектурные вещи в Erlang’е уже есть в самом языке или его библиотеке. Типа деревьев контроля: erlanger.ru/...hp/OTP_Overview, erlanger.ru/...OTP_sup_princip Или готовых к использованию паттернов (erlanger.ru/.../OTP_Gen_Server и т.п.)
Из публично известных: чат в Фейсбуке, сервера Call of Duty 2, инфраструктура MochiMedia, Wooga и GitHub’а, риалтайм системы комментирования aboutecho. Из непубличных — тысячи их.
Курить избранные темы на Erlang User Conference и Erlang Factory:
www.erlang-factory.com/...rence2012/talks
www.erlang-factory.com/...SFBay2012/talks
www.erlang-factory.com/...rence2011/talks
www.erlang-factory.com/...ondon2011/talks
и т.п.
Есть возражения по существу?