Vint
Сорри за флуд)
Алдар
А есть бенчмарки под рукой?
http://www.akitaonrails.com/2015/12/03/the-obligatory-flame-war-phoenix-vs-node-js
Denis
нет конечно. Ты не получишь ни списка процессов, которых нет, не сможешь понять: какой процесс жрет CPU, кто жрет память
Хорошая тема, но по докам посмотрел, чё-то совсем темный лес :( Во всём этом разобраться пару-тройку месяцев надо, так?
Maksim
я бы так сказал: разобраться с отладкой в продакшне можно только с наличием этого продакшна
Maksim
суходрочка на ноутбуке это не совсем то
Źmićer
Хот релоад в проде обсуждали уже?
Źmićer
В эрланге работает из коробки
Maksim
а, ну это да
Alex ZeroDub
а как у эликсира с числодробилками ? всегда же писали что эрланг медленный для этого
Maksim
я чего-то и забыл про этот аргумент
Alex ZeroDub
если я буду там матрицы перемножать
Maksim
если ты будешь перемножать матрицы без AVX2, то всё что угодно будет медленным
Źmićer
Видео вряд ли обработаешь
Maksim
даже C
Źmićer
На чистом эрланге
Maksim
хочешь быстро — или пишешь на GPU, или пишешь на AVX
Źmićer
Но если по мелочи бухгалтерию - то го быстрее
Alex ZeroDub
ну допустим сишное расширение я могу быстро к эликсиру прикрутить ? или это опасно что вся VM упадет от моих утех ?
Źmićer
Поэтому для вотсапа эрланг был идеален
Źmićer
Там нету вообще ничего считать
Maksim
сишное расширение достаточно быстро сможешь, но надо будет некоторые сделать действия, что бы не обгадить шедулинг
Maksim
у нас на видеостриминге эрланг без jit оказывается быстрее джавы с jit
Źmićer
С прикручивается через Port, там все падает и супервизором поднимается
Alex ZeroDub
а как с масштабированием ? если в ноде мы просто запускаем кучу нод, то в эрланг / эликсир есть ведь Node ? по этому принципу строится ? или просто так же много копий приложения запускать не соединяя в ноды на уровне эрланга ?
Maksim
запуск через внешний процесс — это клево, но надо помнить про стоимость перегонки в соседний процесс
Maksim
для того, что бы можно было взять и просто запустить даже второй сервер под какие-то задачи надо что бы у тебя был бекенд, который умеет обрабатывать ещё один миддл, которым является нода
Źmićer
Я слишком лох чтобы лезть грязными руками в сердце вмки на чистом СИ
Алдар
в ноде если заблочишь основной поток то все колом встанет, в эрланге этого не будет
Maksim
все рассказы про то, что можно запустить ещё одну ноду и обслужить в два раза больше клиентов — это всё про второе ядро на том же сервере. Это требует что бы сзади была база данных, которая справляется
Maksim
вопрос в том, как делать эту самую базу, какой бы она ни была
Maksim
дисковой или in memory.
Maksim
блин, ну опять: а куда эти ноды будут ходить за данными?
Alex ZeroDub
вопрос в том, как делать эту самую базу, какой бы она ни была
сегодня статью обсуждали с хабра где питон 3 с asyncio драйвером под постгрес рвет на вставке голанг и ноду)
Denis
Про Elixir
Denis
+ hot code replacement + OTP и буллет-пруф библиотеки из экосистемы Erlang (для http есть модуль в стандартной поставке, но требует некоторых церемоний при работе из Elixir) + FP и прозрачные транзишены стейта системы
Maksim
нет там никаких волшебств, а постгрес будучи очень навороченной штукой нешустр по современным меркам
Maksim
сходить в постгрес за primary key — миллисекунда
Alex ZeroDub
блин, ну опять: а куда эти ноды будут ходить за данными?
да можно взять абстрактное приложение без БД. просто обрабатываем запросы. допустим есть у нас центральная нода в виде прокси и раскидывает запросы по типам на разные другие ноды эрланга. или такая арх-ра говно ?)
Maksim
сходить в эрланге в ets — микросекунда
Maksim
понимаешь какая разница?
Maksim
центральная нода? А что ты будешь делать, когда она рухнет?
Maksim
и я смутно себе представляю приложение без БД =)
Alex ZeroDub
центральная нода? А что ты будешь делать, когда она рухнет?
понадеюсь на супервизор) вообще конечно надо иметь пул таких нод за каким нибудь haproxy
Vladimir
нода может рухнуть вместе с супервизором, виртуалкой, и железом
Maksim
понимаешь, история про автоскейлинг нод работает в том случае, когда у тебя от базы данных до клиента есть какая-то очень дорогостоящая операция
Maksim
например там стоят рельсы, которые на рендеринг HTML жрут 600 000 микросекунд
Maksim
или даже больше миллиона микросекунд
Maksim
у нас в флюссонике целевое время генерации мегабайтного сегмента менее 1000 микросекунд, а авторизация занимает 10-30 микросекунд
Maksim
насколько я понимаю текущее качество v8, он должен генерировать json достаточно быстро, настолько что один экземпляр nodejs должен быть в состоянии генерировать json очень, очень быстро и возможно даже быстрее, чем тот же постгрес будет данные отдавать
Maksim
я неправ?
Alex ZeroDub
ну конечно есть издержки на сеть, IO и т.д.
Kirill
На чистом эрланге
Есть же проект лайв стриминга.
Sh A
Всем привет можете посоветовать проверенные пакеты по GPS трекингу с моб устройств
Maksim
Maksim
ладно, если вопросов про эрланг больше нет, я откланяюсь
Maksim
давай
Rf
Как вы думаете, есть ли перспективы у Эликсира?
Rf
Про эрланг понятно, ниша своя есть, есть рынок, есть вакансии.
Ale
https://github.com/typeorm/typeorm
Maksim
Да нормуль, будет жить
Maksim
Бессмысленно обсуждать общий обьем вакансий: ты же не глава сбертеха, что бы мыслить трендами
Maksim
На эликсире трудоустроишьсч
Roman
Убей гороутину
Denis
https://typeorm.github.io/migrations.html огонь
Denis
угу и мы его делаем
Размотал :) Если суммировать и взглянуть на эти годы с Erlang, про плюсы понятно, а какие минусы, какие слабые места? Куда утекает время в разработке?
Vint
https://github.com/typeorm/typeorm
Похоже, они туда транзакций забыли положить. Нафиг-нафиг.
Vint
Похоже, они туда транзакций забыли положить. Нафиг-нафиг.
Хотя нет, в issues проскакивают логи sql с транзакциями, но api чего-то не видать.
Vint
https://github.com/typeorm/typeorm/blob/master/src/query-runner/QueryRunner.ts
Да, есть такое. Дока пока пустая нафиг. Но если нет cls как в sequelize, то не так неудобно.