@drq I could have joined if it was elixir, go is beyond my acceptance limits.
Top-level
Aleksei � Matiushkin
@drq I could have joined if it was elixir, go is beyond my acceptance limits. 14 comments
Aleksei � Matiushkin
@SignPainter you are talking marketing bullshit here, benchmarks and the fact that 90% of the routers in the universe use Erlang vm speak for themselves.
SignPainter
@mudasobwa If we're sharing fun facts here, let me remind you that 72.17% of desktop computers use Windows and 76.4% of websites use PHP. What does it speak for? 😆
Aleksei � Matiushkin
@SignPainter I think you got it wrong, I am not to convince anyone in anything. Do whatever you want, I am fine with my own business.
Dr. Quadragon ❌
@SignPainter @mudasobwa Вот вы, блять, поцапались, жопу с пальцем сравнивая. Это вообще разные вещи.
Aleksei � Matiushkin
@drq Во-первых, мы не цапались. Во-вторых, мы говорим про engine, которой придется иметь дело со многими соединениями одновременно, поэтому как раз уместно выбирать из эрланга и го. Но в го нет нормальной многозадачности, и поэтому весь процес разработки на го упрется в войну с ситуациями «добавил 100500-ю подписку и все поломалось». Тут до бенчмарков именно производительности может вообще не дойти. А когда дойдет — окажется, что го и не быстрее на таких задачах. I’ve been there.
Aleksei � Matiushkin
@drq привет, попробуйте 100К горутин на распберри, потом поговорим снова. Там шедулер приколочен сбоку к изначально спроектированной кооперативной многозадачности. Вытесняющая работает только на стенде с сотней-тысячей горутин максимум, потом начинаются нежданчики.
SignPainter
@mudasobwa поинт понятный. Только из условий задачи я предположил, что 100K и не должно быть. Сколько подключений будет обсуживать такой инстанс? Как раз сотни максимум. А в этой ситуации гошечка всё равно будет жрать меньше памяти и проца.
Aleksei � Matiushkin
@SignPainter да пофиг сто раз на память и проц в этой задаче, Nerves https://nerves-project.org/ в холодильниках и чайниках работает без сучка и задоринки. А вот обслуживать каждое подключение синхронно — это очевидный архитектурный проёб. По-хорошему, придется на каждое подлючение держать пул воркеров для обслуживания «связей». Сиречь, O(N²), пардон.
SignPainter
@mudasobwa да ну как это пофиг? :)
Aleksei � Matiushkin
@SignPainter 60 лет назад Кнут закрыл этот вопрос, казалось бы. Мне все равно, расходуется 0.1%, или целых 0.5% ресурсов. Так-то, чистый си будет еще эффективнее. Хаскель тоже. Тащить туда электрон — это лишнее, но говорить о преимуществах го перед nerves в данном контексте — смешно. |
@mudasobwa we're talking about efficiency here. Go is small, fast and native. Deal with it @drq