Igor
Может это потому что async.sleep не занимает тред?
Vladimir
ну в любом случае async.parallel их обоих запустил
Vladimir
а кажется что не должен был
Vasily
Ну вот странно, да
Igor
Не, по логике так тоже правильно, выполнение ограничено одним потоком
Igor
И попробуйте скажите что там 2 потока
Romɑn
А что-то в доке есть по поводу этой ф-ции?
Vasily
А если в начале фигануть do! Async.SwitchToNewThread()?
Vladimir
А что не так
там ограничена параллельность 1
Romɑn
там ограничена параллельность 1
1 прочитал как восклицание
Vladimir
А если в начале фигануть do! Async.SwitchToNewThread()?
не, никак не влияет, параллельно фигачат
Hog
И попробуйте скажите что там 2 потока
это не количество потоков, а уровень параллелизьма
Hog
Поясни для таких как я?
я не знаю! так в документации написато!
Igor
это не количество потоков, а уровень параллелизьма
Да назови как хочешь, но смысл в том, сколько заданий будет выполняться одновременно. А слип не выполняется!
Hog
Дай ссылку пожалуйста
https://www.fuget.org/packages/FSharp.Core/4.7.0/lib/netstandard2.0/diff/4.6.2/
Hog
maxDegreeOfParallelism
Romɑn
Да назови как хочешь, но смысл в том, сколько заданий будет выполняться одновременно. А слип не выполняется!
Правильно, я понимаю, что там должна быть очередь задач с буфером в значении х,(в данном случае 1)?
Romɑn
Ок, объем буфера - это то сколько задач может сейчас находится в статусе running В моей мнимой имплементации
Vladimir
Пологал айдишки потоков - получается действительно не уровень параллелизма, а количество потоков
Igor
Это одно и тоже!
Vladimir
с 1 у всех один и тот же поток
Igor
В моем понимании
Vladimir
Это одно и тоже!
ну представь что мы хотим ограничить количество одновременных запросов к сервису
Vladimir
с такой имплементацией это не сработает
Vladimir
в одном потоке мы может хоть 100 реквестов пульнуть
Диёр
жс тоже в одном потоке тащится
Vladimir
ну так в js параллелизма и нету) не считая воркеров
Vladimir
ну просто апишка выходит сомнительная, мне показалось что имеется ввиду параллелизм выполнения асинков, а выходит параллелизм низлежащих потоков
Romɑn
Попробуй с RunSync и параметрами 1, а потом 2
Hog
Пусть сервер ограничивает, а не клиент
сервер и так ограничивает. 5 выполнит (к примеру), а на остальные придёт отлуп. придётся ещё больше кода писать
Vladimir
В ты потоки блокируй)
где именно заблокировать?
Hog
где именно заблокировать?
Async.Sleep |> Async.RunSynchronously
Romɑn
Хотя как-то странно работает
Async.Sleep (1000) |> Async.RunSynchron... do! Async.Sleep (10)
Vladimir
а, ну я блочил, никакой разницы
Romɑn
а, ну я блочил, никакой разницы
мб это так же не работает как и nameof? )
Vladimir
похоже, какой-то фейковый релиз))
Romɑn
плейсхолдкер релиз
Hog
а вы меня носом в какашки тыкали
Vladimir
а, стоп, есть разница, там еще стояла Async.SwitchToNewThread от Василия
Vladimir
без него норм работает
Vladimir
так что если блочить, можно жить)
Vasily
Ну такое
Hog
т.е. если внутри у тебя любое с !
Hog
то наступает пися
Igor
Блочить нельзя! Этот поток может выполнять другой таск
Igor
Можно наверное заюзать Channel.CreateBounded Ну или хотя бы посмотреть как они очередь ограничивают
Ilya
По запросу F# 4.7 первая ссылка на гитхаб, где Сайм его упоминает просто для примера, а вторая на нугет. Может они что-нибудь напутали?
Romɑn
Можно наверное заюзать Channel.CreateBounded Ну или хотя бы посмотреть как они очередь ограничивают
@omgszer пояснишь ченналы дотнетные и гопаковские и их различия? или где можно почитать?
Ayrat
Применяется к .NET Platform Extensions 3.0 Preview 7 2.1 2.2
Это какие-то другие ченелы. Там были очень старые, ща найду
Ayrat
На новые не смотрел
Igor
О, а шанели давно в дотнете не гопаке?
А я не знаю, я сварщик ненастоящий!
Igor
О, а шанели давно в дотнете не гопаке?
Вообще я примерно год назад их случайно увидел в asp.net core
Romɑn
я дико извиняюсь но это корректно сравнивать? Обратите внимание на Task
Romɑn
Romɑn
Romɑn
Romɑn
result!
Hog
да там лютый пиздец
Hog
я уже спрашивал экспертного мнения сам-знаешь-у-кого
Hog
@omgszer
Romɑn
а ну, я догадывался
Vladislav
Евангелисты не обязаны уметь программировать
Hog
Евангелисты не обязаны уметь программировать
Она позиционирует себя как Архитектор
Vladislav
¯\_(ツ)_/¯
Vladimir
я дико извиняюсь но это корректно сравнивать? Обратите внимание на Task
ну в pro.net же мы делали репро и там гопак так победил тоже)
Vladimir
как с тасками ни крути, но когда их количество растет в прогресии, они бессильны из-за постоянных копирований контекста
Vladimir
ну или еще из-за чего)
Romɑn
ну в pro.net же мы делали репро и там гопак так победил тоже)
Больше про Result и там сразу же тачки ушли в 2 секунды, на глубине двоичного дерева 15