Size: a a a

2021 May 12

VK

Vladislav Khapin in F# Chat
Это отдельно только
источник

VK

Vladislav Khapin in F# Chat
Не сейчас точно
источник

МП

Миша Проказин... in F# Chat
Бредовая мысль - а можно как-нибудь прикрутить локализацию к интерполированным строкам из F# 5?
источник

AH

Ayrat Hudaygulov in F# Chat
я так и не понял почему надо асинки переписывать, учитывая что они и не были на стейт машинах
источник

VK

Vladislav Khapin in F# Chat
Просто потому что
источник

VZ

Vlad Zaa in F# Chat
Точно рано. Оно в релизе не скоро будет и будет под превью флагом достаточно долго. dev16.11 и dev17 фокус на фиксы, стабильность и перф компилятора и тулов.
источник

VS

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

AH

Ayrat Hudaygulov in F# Chat
ну смотри, асинки в своей ИДЕЕ построены на континуейшнах. Тут надо ускорять и оптимизировать аллокации континуейшнов, внедрять синхронные пути без аллокаций, возможность вернуть синхронно (например зачем тебе аллоцировать Async<T> на выемке из мейлбокса если месадж там ТОЧНО есть?
источник

VS

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

VS

Vladimir Shchur in F# Chat
ну по крайней мере одна из
источник

AH

Ayrat Hudaygulov in F# Chat
нет, это просто побочный эффект.
Никто не мешает тебе это внедрить в CPS
источник

AH

Ayrat Hudaygulov in F# Chat
как бы вот смотри, таски в сишарпе всегда были стейт машиной, но “без аллокация” потребовало внедрения ITaskLike, ValueTask и пр хаков
источник

AH

Ayrat Hudaygulov in F# Chat
честно говоря вообще пихуй что там внутри - CPS или стейт машина
источник

AH

Ayrat Hudaygulov in F# Chat
ты можешь те же оптимизации применять для любой имплементации
источник

VS

Vladimir Shchur in F# Chat
ну ты не совсем прав) у меня есть на это ишуй, где таски ничего не аллоцируют в сишарпе внутри асинк метода именно засчет стейтмашин и джампов
источник

VS

Vladimir Shchur in F# Chat
стейтмашина смотрит что не нужен континюэйшн, а достаточно джампа на следующий лейбл
источник

VS

Vladimir Shchur in F# Chat
а у нас честно делегаты отрабатывают
источник

VS

Vladimir Shchur in F# Chat
источник

AH

Ayrat Hudaygulov in F# Chat
ну так ты можешь посмотреть что не нужен континуейшн и вернуть преалокнутный, фейковый “континуейшн” (аналог джампа в стейт машине)
источник

VS

Vladimir Shchur in F# Chat
я думаю это что-то очень сложно) ты не можешь преаллокейчивать континьюэйшны, потому что они могут новые замыкания юзать, плюс вот возьми код
async {
   let x = 1
   let y = 2
   return x + y
}

зачем тут что-то преаллокейчивать, нужно сгенерить синхронный метод на все три строчки как в тасках
источник