Nikolay
Nikolay
Короче так даже больше лол
Nikolay
Nikolay
По сути я измеряю память
Nikolay
Меня больше это волнует
Nikolay
И пока результаты не радуют
Hog
Массив таск комплишонов
Nikolay
Вопрос про цикл остаётся открытым
Nikolay
Я чет не могу придумать как
Hog
Массив мейлбоксов
Nikolay
Скорее всего он не будет прям в чистый while , разворачивать из-за асинка
Nikolay
Хотя появилось идея как обойти можно попробовать, через коллбэк
Vladislav
Лучше Бенчи нормальные напиши
Nikolay
Nikolay
Nikolay
Как избавиться от аллокаций?
Vasily
В данном случае никак
Vasily
Или хотя бы incr вынеси наружу
Nikolay
Плохо
Vladislav
Напоминаю что сейчас все се в лапшу колбеков превращаются
Vladislav
И скорее всего срут в память линейно от количества их выполнений
Vasily
Со стейт машинами будет получше ситуация, да
Nikolay
Roman
@omgszer а гопак в модель акторов умеет?
Vladislav
Да там есть Mailbox
Vladislav
Мини
Nikolay
А как-то переписать используя таски можно?
Vladislav
Roman
Vladislav
Нужно понимать что СЕ все равно насрут в хип
Vladislav
Vladislav
Он писал пример сегодня
Roman
ну я в вашем угаре бенчей не все усмотрел)
Nikolay
Vladislav
На затяни таскбилдер
Nikolay
Только чуть лучше
Vladislav
Тогда нет
Nikolay
Vladislav
Ну я про переписать на таски
Nikolay
Так, сек
Nikolay
В фшарпе есть гото?
Ilya
Неа, Сайм против. Но это не точно.
Nikolay
Тут увидел просто
Nikolay
member __.MoveNext() = match (pc) with | 1 -> goto L1 | 2 -> goto L2 | _ -> goto L0 L0: ...
Nikolay
Что это такое
Nikolay
Кстати надо жобы гопака проверить на аллокации
Vladislav
Джампы
Nikolay
Ilya
Note you can't write this kind of code directly in F# - there is no goto and the goto often jump directly into code resuming from the last step of the state machine.
Полу-псевдокод.
Vladislav
Vladislav
Попробуй
Nikolay
Vladislav
Не марку а гото
Vladislav
Или марку и потом инлайн ил
Ilya
А вот добавили бы goto!
Nikolay
Можно попробовать кстати сделать даже функции для этого
Vladislav
ну инлайн функцию на тег и одну на переход
Nikolay
Da
Nikolay
Nikolay
Нужно как-то номер инструкции получить
Nikolay
br.s IL_0003
Hog
Nikolay
[<Benchmark>]
member x.LoopJob() =
let count = x.CountMessages
let tcs = TaskCompletionSource<int>()
job {
let mutable c = 0
let incr v =
job {
return c + v
}
for i in 1 .. count do
let! v = incr i
c <- v
tcs.SetResult(c)
} |> start
tcs.Task
Nikolay
stack overflow
Nikolay
Nikolay
Короче сложно, гопак видимо тоже будет срать, но в два раза меньше
Nikolay
Хз почему падает с stackoverflow
Nikolay
Даже в три
Nikolay
Почти
Nikolay
Чо делать, как жить, где перформанс найти
Igor
Тут кто-то говорил, что это неправда что F# хорошо подходит для чего то
А вон они у себя в блоге сами даже написали:
the best language for data science and analytical work (more on this in future updates!)
https://devblogs.microsoft.com/dotnet/f-5-update-for-net-5-preview-4/
Viacheslav
👍🏻
О, они в эпл мюзик есть! Скачал себе
Viacheslav
Nikolay
Вообще смотрю гопак, такая крутая штука, но полузаброшена :(
Vladimir