Size: a a a

2021 March 03

I

Igor in F# Chat
Vlad Zaa
Вроде да, можно даже nativecomp ветку самому собрать под mingw, чтобы АОТ заюзать.
А почему "вроде"? Ты что винду не юзаешь 🤔
источник

VZ

Vlad Zaa in F# Chat
Igor
А почему "вроде"? Ты что винду не юзаешь 🤔
Редко. Линукс в основном.
источник

VZ

Vlad Zaa in F# Chat
На рабочем лэптопе винда. На личном Линукс. Опенсорсное пилю на личном чаще всего.
источник
2021 March 04

I

Igor in F# Chat
Ayrat Hudaygulov
Очевидно что вариант с тредами для асинков странный
не, все таки старый вариант был правильный, он соответствовал своему наименованию, потому что "максимальная степень параллелизма" это про выполнение
а если написать такой код, то там сплошные ожидания
    let a _ = async {
       Console.WriteLine "start"
       do! Async.Sleep (TimeSpan.FromSeconds 3.)
       Console.WriteLine "end"
   }

   let computations = Seq.init 10 a
   
   (computations, 2)
   |> Async.Parallel
   |> Async.RunSynchronously
   |> ignore
лучше бы добавили еще один метод, который бы ограничивал максимальное количество задач
источник

оГ

отец Григорий... in F# Chat
Хитрый какой
источник

VS

Vladimir Shchur in F# Chat
Igor
не, все таки старый вариант был правильный, он соответствовал своему наименованию, потому что "максимальная степень параллелизма" это про выполнение
а если написать такой код, то там сплошные ожидания
    let a _ = async {
       Console.WriteLine "start"
       do! Async.Sleep (TimeSpan.FromSeconds 3.)
       Console.WriteLine "end"
   }

   let computations = Seq.init 10 a
   
   (computations, 2)
   |> Async.Parallel
   |> Async.RunSynchronously
   |> ignore
лучше бы добавили еще один метод, который бы ограничивал максимальное количество задач
ну так же и должно быть - максимально два асинка выполняется параллельно
источник

VS

Vladimir Shchur in F# Chat
иначе не было бы никакой разницы 2 или 3 параметром передать
источник

I

Igor in F# Chat
Sleep это не выполняется, это спит
источник

I

Igor in F# Chat
а тут получается спит одновременно 2 задачи))
источник

VS

Vladimir Shchur in F# Chat
это детали реализации твоей
источник

I

Igor in F# Chat
не, там может быть http запрос или обращение в базу
источник

VS

Vladimir Shchur in F# Chat
выполняется или спит - шедулеру без разницы
источник

VS

Vladimir Shchur in F# Chat
Igor
не, там может быть http запрос или обращение в базу
именно
источник

I

Igor in F# Chat
так запрос выполняешь не ты, а тот сервер куда ты обращаешься
источник

VS

Vladimir Shchur in F# Chat
не больше двух одновременных запросов к сервису или базе - то что надо)
источник

I

Igor in F# Chat
я согласен, что такое поведение тоже нужно
источник

VS

Vladimir Shchur in F# Chat
а выделить количество потоков руками для чего может быть полезно? я не вижу кейса
источник

I

Igor in F# Chat
ну вот почти реальная задача на моей работе:
по ночам данные зипуются и отправляются частями в s3
источник

I

Igor in F# Chat
мне надо ограничить 4 ядрами
источник

I

Igor in F# Chat
чтобы другие задачи и пользователи не страдали
источник