Size: a a a

2021 April 23

AH

Ayrat Hudaygulov in pro.net
Он же не гарантирует тебе ничего
источник

В

Вячеслав in pro.net
абстракции переоценены !!!1!!1!
источник

AH

Ayrat Hudaygulov in pro.net
Кстати проблему с кодогенераций на евейте валуе тасок не починили?
источник

AH

Ayrat Hudaygulov in pro.net
раньше надо было писать

if valueTask.IsCompleted
 return valueTask.Value
else
 return await valueTask
источник

AH

Ayrat Hudaygulov in pro.net
чтобы ничего не алоцнуть
источник

AH

Ayrat Hudaygulov in pro.net
хотя это очевидно что компилятор мог бы кодгенить!
источник

VK

Vladislav Khapin in pro.net
просто нужна рекурсия
источник

AH

Ayrat Hudaygulov in pro.net
А зачем?
источник

AH

Ayrat Hudaygulov in pro.net
И вроде она есть
источник

VK

Vladislav Khapin in pro.net
чтобы в память не срало?
источник

VK

Vladislav Khapin in pro.net
вместо цикла
источник

AH

Ayrat Hudaygulov in pro.net
Надо проверить. Непонятно
источник

VK

Vladislav Khapin in pro.net
уже я и гсомикс на этой хуйне взорвались
источник

VK

Vladislav Khapin in pro.net
только у него другое было
источник

VK

Vladislav Khapin in pro.net
но опять таки из-за билдера
источник

AH

Ayrat Hudaygulov in pro.net
билдер аллоцирует своим наличием просто потому что async.Delay существует

Автор гопака же не просто так предлагал пользоваться операторами вместо билдера!
https://hopac.github.io/Hopac/Hopac.html#def:val%20Hopac.Job.delay
источник

AH

Ayrat Hudaygulov in pro.net
не знаю о чом вы

[<GcServer(true)>]
[<MemoryDiagnoser>]
[<MarkdownExporterAttribute.GitHub>]
type AsyncBench () =
   
   [<Benchmark>]
   member this.Rec() =
       let rec f n = async {
           if n > 1000 then return ()
           else return! f (n+1)
       }
       f 0 |> Async.RunSynchronously
       
   [<Benchmark>]
   member this.Whild() =
       let f() = async {
           let mutable n = 0
           while n <= 1000 do
               n <- n + 1
           return ()
       }
       f() |> Async.RunSynchronously



| Method |     Mean |    Error |   StdDev |  Gen 0 | Gen 1 | Gen 2 | Allocated |
|------- |---------:|---------:|---------:|-------:|------:|------:|----------:|
|    Rec | 30.58 us | 0.420 us | 0.393 us | 0.8850 |     - |     - |  71.37 KB |
|  Whild | 43.93 us | 0.597 us | 0.559 us | 0.7935 |     - |     - |  64.32 KB |
источник

AH

Ayrat Hudaygulov in pro.net
ебучий форматинг в телеге
источник

AH

Ayrat Hudaygulov in pro.net
ну ты понял
источник

AH

Ayrat Hudaygulov in pro.net
алокации одинаковые
источник