@proelixir

Страница 812 из 1045
maier
04.12.2017
15:47:27
спасибо большое!
Интересный ник ))

Slava
04.12.2017
15:48:55
древнерусский

dimcha
04.12.2017
15:54:28
древнемордорский

Alexey
04.12.2017
15:55:19
мне збс. и всей нашей команде, думаю, тоже. вполне

Google
dimcha
04.12.2017
15:56:19
Slava
04.12.2017
15:56:42
а какая разница, если тебе many to many?

dimcha
04.12.2017
15:57:30
его тоже нет ?

Azat
04.12.2017
16:12:21
как я понимаю главная притензия к руби - это медлительность интерпретатора, даже по сравнению с пхп, питонами и ноджс? или есть еще "фатальные" недостатки?

Slava
04.12.2017
16:13:35
Нет многопоточности

Ладно бы просто медленный

Marat
04.12.2017
16:14:00
У питона с жс тоже нет

Может параллельности нет? Это вот проблема да

andrey.vorobey
04.12.2017
16:15:01
как я понимаю главная притензия к руби - это медлительность интерпретатора, даже по сравнению с пхп, питонами и ноджс? или есть еще "фатальные" недостатки?
GIL, нет опционального type-cheking'а (как у кложи или эликсира с диалайзером) и в основном все баги это nil или "забыли обработать кейз", но это скорее не к руби а к данамической типизации в целом

Slava
04.12.2017
16:15:16
Ну ок, параллелизма нет

Да и вообще асинхронности. Вон у джса есть, да и вроде в питон завезли, не в курсе. Сайдкик не предлагать

andrey.vorobey
04.12.2017
16:16:48
в питоне тоже GIL, значит нет паралельности )

асинхрохнность что в питоне что в руби есть за счет EventMatchine (ядро на с++ написано) или tornado (но я не питонист)

Google
andrey.vorobey
04.12.2017
16:17:20
при этом паралельности добиваются за счет запуска несколько процессов )

но нода тоже вроде работает на одном процессе

andrey.vorobey
04.12.2017
16:18:27
ну а ноду просто нах, к тому же она больше 3.4 gb не может занимать (или уже научилась?)

Slava
04.12.2017
16:19:37
у меня как у вебмакаки мерило простое: вебсокеты. в руби их нет, просто нет. то что есть - это не для работы. у ноды с этим все сильно лучше

andrey.vorobey
04.12.2017
16:20:00
а элексир, прости, чем не угодил?

Slava
04.12.2017
16:20:09
а где я говорил что не угодил?

зря что ли в этом чате сижу :)

andrey.vorobey
04.12.2017
16:20:38
если хочется совсем тупым быть то у go более менее с этим, но на сколько я знаю там нет решения с shared access и все равно есть необходимость mutex-ы вешать

а

точнее даже не "более менее", а хорошо

Ray
04.12.2017
16:23:00
так в go нету паралелизма ) по вашему обсуждению это "не годнота"

горутины выполняются конкурентно

разве что-то сильно поменялось после 1.7

andrey.vorobey
04.12.2017
16:25:26
ну оно умеет паралелится на ядра

и GIL'а нет

разве нет?

Ray
04.12.2017
16:26:58
да, это верно

https://www.youtube.com/watch?v=cN_DpYBzKso

Google
Ray
04.12.2017
16:28:09
этот парень кое что понимает )

Azat
04.12.2017
16:28:31
https://github.com/ruby-concurrency/concurrent-ruby как работает тогда? или это фейк, имитация?

Evgeny
04.12.2017
16:29:44
кооперативная многозадачность

Ray
04.12.2017
16:30:16
форкает процесс и все, вроде
ну по описанию вроде нет

andrey.vorobey
04.12.2017
16:30:18
о, стопэ, у руби же есть нормальные экторы

ща

https://celluloid.io/

Evgeny
04.12.2017
16:31:36
в го контекст между горутинами переключается во время ожидания IO

andrey.vorobey
04.12.2017
16:31:54
оно точно не падает и точно не на руби написано ядро

Ray
04.12.2017
16:32:05
правда надо будет проверить что будет, если одна из горутин попадет в While: True

Ray
04.12.2017
16:32:55
повиснет все, или скедуллер вырубит по таймауту

andrey.vorobey
04.12.2017
16:33:13
гринлет-гринлетом )
зато у этого убого языка крутейший паралельный gc который вообще не тормозит )

Slava
04.12.2017
16:33:27
https://celluloid.io/
Медленное как я не знаю что

Ray
04.12.2017
16:33:31
так я не спорю, мне golang тоже понравился )

andrey.vorobey
04.12.2017
16:33:45
Медленное как я не знаю что
не мерил, но думаю быстрее нейтив-руби )

Slava
04.12.2017
16:34:17
Можно поискать пост Mike Perham'a, как он переписал сайдкик с целлулоида просто на рубишные треды

Стало значительно быстрее

Ray
04.12.2017
16:34:47
но что-то я думаю что у руби, на чем бы там не написали, так не получится - очень дорогой будет context switch

Google
Slava
04.12.2017
16:35:15
https://github.com/ruby-concurrency/concurrent-ruby как работает тогда? или это фейк, имитация?
Оно же не меняет ничего, это просто абстракции над тредами и все

Ray
04.12.2017
16:36:00
Evgeny
04.12.2017
16:40:57
правда надо будет проверить что будет, если одна из горутин попадет в While: True
зависнет, но, емнип, го перекинет горутины зависшие в этом же потоке в другие потоке.

Ray
04.12.2017
16:41:35
потому что в пайтоне например, если использовать gevent - там если один из тредов ловит while:True - то все

вот и "минус" конкурентной многозадачности )

Dmitry
04.12.2017
16:45:56
Не надо просто так писать

Чтобы ловило

С другой стороны на питоне никто не умеет нормально писать

Многопоточные штуки

Admin
ERROR: S client not available

Dmitry
04.12.2017
16:47:02
Не знаю как там в руби, но полагаю что та же фигня

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

Зато на эликсире каждый через неделю уже генсервер говнячит

И все довольны

(До понимания как это работает все так же далеко, но в эликсире это вообще не важно)

abc
04.12.2017
16:49:21
В питоне сейчас asyncio во все поля

Alex
04.12.2017
16:49:29
да в Elixir/Erlang есть готовые паттерны для многопоточной разработки

Dmitry
04.12.2017
16:50:15
ну так это же хорошо
А я вообще топлю за эликсир

Google
Alex
04.12.2017
16:50:36
а в других языках их надо самому писать и сделать это правильно не совсем тривиальная задача

Dmitry
04.12.2017
16:51:27
У уже тут рассказывал как у меня каждые через полчаса отваливался питоновский телеграмм бот

Dmitry
04.12.2017
16:52:02
Причём умирал poll поток, а main оставался

И я вообще понятия не имел что делать там

Ray
04.12.2017
16:52:21
По какой причине?
плохой, плохой питон !

Dmitry
04.12.2017
16:52:33
Толи либу чинить, толи что

Но я в питоне не разбираюсь в многопоточность вообще

Ray
04.12.2017
16:53:05
Толи либу чинить, толи что
а дебагер втыкнуть и посмотреть ?

Evgeny
04.12.2017
16:53:12
а что такого сложного в мьютексах, атомиках и кондишн переменных?

Dmitry
04.12.2017
16:53:18
Другое дело, что там есть чуваки которые делают суперпопулярные либы, и они не разбираются походу тоже

Dmitry
04.12.2017
16:53:58
а откуда бот тогда ?
Я умею питон Import Driven Developmnet

Ray
04.12.2017
16:53:58
Другое дело, что там есть чуваки которые делают суперпопулярные либы, и они не разбираются походу тоже
вас как почитать - то все все на всем делают и ни в чем понятия не имеют.

Dmitry
04.12.2017
16:54:06
Если вы понимаете о чем я

Ray
04.12.2017
16:55:52
а что такого сложного в мьютексах, атомиках и кондишн переменных?
наверное то, что сперва надо почитать книги по теории, потом 4 старнички мануала на сайте, и только потом писать кот

abc
04.12.2017
16:55:56
Но я в питоне не разбираюсь в многопоточность вообще
Там скорее проблема в библиотеке а не в языке. Сделал себе бота под телегу на питоновском asyncio и вот уже крутится полгода

Dmitry
04.12.2017
16:56:03
а что такого сложного в мьютексах, атомиках и кондишн переменных?
Хз. В эликсире мне не приходилось дебажить ни разу за карьеру, а как дебажить многопоточные приложения в сишарпе я так и не разобрался.

Slava
04.12.2017
16:57:23
кто-нибудь видел этот бенчмарк? https://github.com/kostya/benchmarks неужели по части такой работы у эликсира/эрланга все настолько печально или там просто говнокод в эликсировом скрипте?

я запускал локально, он у меня выдал вроде порядка 120 мс, но это все равно было медленнее даже рубей, не говоря уже про го и кристалы всякие

вот виновник, если что: https://github.com/kostya/benchmarks/blob/master/brainfuck2/bf.exs

Страница 812 из 1045