@Fsharp_chat

Страница 651 из 772
Ayrat
27.07.2018
10:25:14
да

Dmitry
27.07.2018
10:28:15
Сатурн неплох, захотелось переехать после последних постов Кшиштофа на Медиуме. Останавливает что связку Akka.Streams с сервером придется переписывать и заново вникать с хитросплетенные зависимости
надо вконце концов мне туда запушить обновлённый билд-скрипт фейка, чтоб не сыпал обсолит-ворнингами... Локально себе починил, а дооформить руки не доходят



Ayrat
27.07.2018
10:33:19
выдели только то что хочешь отидентить

Google
Dmitry
27.07.2018
10:33:50
а нет такого "сделать красиво всё" как типа go fmt?

Ayrat
27.07.2018
10:33:53
он тупой как палка, находит все токены, которые есть в настройках во всех строках, потом разбивает их на колонки и в каждой строке приводит токены к этим колонкам

не, так не получится.

для этого AST нужен

которого в VS Code в принципе нет

Dmitry
27.07.2018
10:34:17
а, ну да, понятно

Roman
27.07.2018
10:35:59
Может надо допилить fsharplangserver?

Evgeniy
27.07.2018
10:39:13
Fantomas

Dmitry
27.07.2018
12:56:29
Вводный курс по F#. Один из участников F# community решил составить вводный курс по нашему языку программирования и у него неплохо получилось. Примерно за 2 часа вы сможете научиться основам программирования на F#. Присоединяйтесь! Подробнее: https://www.youtube.com/playlist?list=PL-nSd-yeckKji5_4YXeU79bOQE1XApEO0 #fsharp #course

Evgeniy
27.07.2018
14:29:58
О.о
Да, внезапно. :)

アレクセイ
27.07.2018
14:58:46
не стоит смотреть? я в f# очень novice

Google
Vasily
27.07.2018
14:59:03
Ну мож как раз и стоит тогда

Ayrat
27.07.2018
19:16:26
OMG https://twitter.com/IonideProject/status/1022582877131821057

Evgeniy
27.07.2018
19:18:13
Завтра потестим.

Я ещё хочу 4.5 потестировать.

Roman
28.07.2018
12:16:37
Привет!

Evgeniy
28.07.2018
12:47:11
Привет.

code4aman
28.07.2018
12:47:41
Салют)

Ayrat
28.07.2018
13:54:33
чот зебра на техемпавер не выстрелила.

вот примерно настолько не выстрелила))) https://www.techempower.com/benchmarks/#section=test&runid=2a8f2912-c4a2-4c32-a576-b1e2e932a906&hw=ph&test=json&p=zik0zj-zik0zj-zijocf-2t4v

Vasily
28.07.2018
13:56:05
Видать, что-то пошло не так

Ayrat
28.07.2018
13:56:42
Стоит думать. Но просто автор там цельную статью напилил как он щас всех порвёт перформансом

Ayrat
28.07.2018
14:13:10
Были же бенчи, где выстрелила, нет?
скинь ссылку, я последний ран взял

Evgeniy
28.07.2018
14:13:28
Ayrat
28.07.2018
14:14:19
Я ж спросил :)
Я проверил последние 4 рана, это единственный в котором была зебра щас ещё один идёт, там зебра значится, но ещё не ранилась В процессе

https://tfb-status.techempower.com/

estimated remaining time ~26 hours

может там получше будет

Evgeniy
28.07.2018
14:18:08
В теории должна быть не медленнее, чем жираф. ?

Ayrat
28.07.2018
14:18:23
но походу не будет, т.к. изменений в коде нет по сравнению с прошлым разом.

Google
Вексельберг
28.07.2018
15:01:09
В твоём сценарии кстати должно быть как минимум два евентлупа. Один принимает команды, другой передаёт на выполнение.

> смело там его юзать Ну такое и имхо главный плюс фп без стейта не про "многопоточность", а краткости и выразительности. И это важно, тк мало кто пишет действительно "многопоточный код" (и никому F# так не продаш).
net в этом плане уникален. Реально создавать потоки динамически нельзя ибо ос треды рано или поздно спалят железо. Зато весь комплекс проблем связанных с многопоточностю - нате, получите

Friedrich
28.07.2018
15:10:18
«уникален»? Создавать потоки динамически нельзя?

Удивительные факты!

Вексельберг
28.07.2018
15:11:25
Теоретически можно, но лучше чтобы это делал шедулер

Friedrich
28.07.2018
15:11:39
А вот про то, что треды могут спалить железо — чистая правда. У меня на одном серваке дорожки на плате вокруг цпу перегорели.

Vasily
28.07.2018
15:11:54
За базар в этом чате принято отвечать

Friedrich
28.07.2018
15:12:07
За базар в этом чате принято отвечать
Я не понял, что товарищ вообще постулирует, если честно.

Vasily
28.07.2018
15:12:19
Ну пусть ответит

Развернет суждение

Так сказать

Friedrich
28.07.2018
15:12:43
Про майлбоксы вроде вполне здраво рассуждает, а вот про треды началась какая-то бесовщина :(

Vasily
28.07.2018
15:13:01
Ну у каждого свои тараканы в голове

Вексельберг
28.07.2018
15:14:33
Что не понятно во фразе "создавать поток динамически" ? Threading.Thread.StartNew или как он там. Вот эта инструкция и жжёт дорожки при скэйле системы

Ayrat
28.07.2018
15:14:46
ничоси

Friedrich
28.07.2018
15:14:46
Значит, нету никакого «нельзя», её можно вызвать и всё ок, работает.

Про уникальность поточной модели дотнета тоже весьма... ээ, радикальное утверждение.

Ayrat
28.07.2018
15:15:42
а вот винда этих потоков тысячами создаёт, и ничо не горит. в чём разница?

Google
Friedrich
28.07.2018
15:16:22
а вот винда этих потоков тысячами создаёт, и ничо не горит. в чём разница?
Ну, если тыщу потоков создать одновременно, ничем хорошим это не кончится, пожалуй.

Вексельберг
28.07.2018
15:16:48
У меня эта инструкция создаёт 100 процентов нагрузки на проц в простом приложении с вебсоеетами.

Вексельберг
28.07.2018
15:17:12
1000 это очень мало

Friedrich
28.07.2018
15:17:18
И что за архитектура такая, интересно, что она всё время создаёт треды?

Вексельберг
28.07.2018
15:17:41
Да норм железо. I7

Ayrat
28.07.2018
15:17:53
Я потерял нить беседы. Идёт какая-то дичь

Friedrich
28.07.2018
15:18:03
Разберёмся.

Не, ну по идее можно написать while(true)Thread.Start(()=>()), но я с трудом себе представляю конструктивное применение этой конструкции.

Или мб у товарища очень много клиентов постоянно подключается и отключается, а он решил себе завести по треду на каждого клиента?

Ayrat
28.07.2018
15:20:28
А если таких 1000 сделать то реально можно повесить проц

Даже с вытеснением будем попадать на такой тред, крутящий цикл. Их же тыща

Вексельберг
28.07.2018
15:21:57
Архитектура такая. Клиент открывает вебсокет, по которому двунаправленный json rpc. На некоторые вызовы от клиента к серверу идут долгие запросы в базу. Я их запускал в отдельном потоке - и всё страшно ужасно легло. Потом долго и нудно рефакторил в асинк авейт. Ложится примерно в два раза меньше

Vasily
28.07.2018
15:23:21
Мда

Ayrat
28.07.2018
15:23:33
Полный мда

Vasily
28.07.2018
15:23:34
Это называется selfownage

Google
Pavel
28.07.2018
15:25:08
Может просто в го так делают?

Ayrat
28.07.2018
15:25:09
А ведь кто-то умудряется такие приложения делать на одном потоке (node js) и не ложится. го и гопак тоже на ограниченном кол-ве потоков делают и не ложатся А тут, много потоков с блокирующими вероятно запросами, и ложится приложение. Интересно почему же?

Вексельберг
28.07.2018
15:25:10
Рекомендую почитать что-нибудь про конкаренси
Почитай конечно, ни кто же не запрещает

Friedrich
28.07.2018
15:25:15
Да ладно, нормально учиться на своих ошибках.

Vasily
28.07.2018
15:25:20
В целом, я бы предложил переместиться во флудилку

Ayrat
28.07.2018
15:25:41
Эт да. к фшарпу тут не придраться

Friedrich
28.07.2018
15:26:26
Может просто в го так делают?
У них там просто, я так понял, в условный тредпул это всё неявно перемещается, да и всё.

Ayrat
28.07.2018
15:26:34
по нескольку тредов на клиента. Агонь

Roman
28.07.2018
15:26:55
Вексельберг
28.07.2018
15:27:16
Вот и я тоже слегка прифигел

Friedrich
28.07.2018
15:27:19
по нескольку тредов на клиента. Агонь
Ну, пока у тебя клиентов очень-очень мало, это вполне может быть ок. Если для сетевой игрушки какой-нибудь на 8 игроков, к примеру, с dedicated server.

Вексельберг
28.07.2018
15:30:02
Проблема в том, что надо запросы делать асинхронными в не по треду на них спамить
Это да. Но при этом поскольку тренды всё равно будут разные может возникнуть shared mutable state, вот что напрягает. В ноде то хоть этого нет.

Friedrich
28.07.2018
15:31:10
В ноде тоже можно шаред стейт нечаянно сделать между группами колбэков. Механизм чуток другой, а проблемы те же самые.

Страница 651 из 772