Size: a a a

2021 March 13

I

IdiocyAcceptance in F# Chat
Но самое смешное, что я не могу понять - F# версия на таск билдере стабильно работает быстрее, чем такая же C# версия
источник

I

IdiocyAcceptance in F# Chat
Кто-нибудь знает похожие тесты с горутинами или аналогами из других языков? Просто ради интереса
источник

AT

Anton Ternavsky in F# Chat
IdiocyAcceptance
Кто-нибудь знает похожие тесты с горутинами или аналогами из других языков? Просто ради интереса
Сценарий Thread To Thread выходит? Т.е. два потока-один Publisher, второй Subscriber ?
источник

I

IdiocyAcceptance in F# Chat
Да
источник

AT

Anton Ternavsky in F# Chat
Попробуй Disruptor. Офигеешь от цифр :)
источник

AT

Anton Ternavsky in F# Chat
На порядок быстрее будет.
источник

I

IdiocyAcceptance in F# Chat
А есть конкретные цифры где-нибудь?
источник

AT

Anton Ternavsky in F# Chat
IdiocyAcceptance
А есть конкретные цифры где-нибудь?
~400M/s
источник

I

IdiocyAcceptance in F# Chat
Ну, железо
источник

I

IdiocyAcceptance in F# Chat
Кот)
источник

AT

Anton Ternavsky in F# Chat
400М/s кстати это насколько помню при батче в 10 сообщений, при одном сообщении цифры скорее всего не такие будут
источник

AT

Anton Ternavsky in F# Chat
Ну и дисраптор не самый быстрый, есть приватные либы, правда изначально пришедшие из другого техстека(первые версии были на плюсах, потом уже портировались на .NET)-там под ярд в секунду, но правда с батчингом.
источник

AT

Anton Ternavsky in F# Chat
источник

AT

Anton Ternavsky in F# Chat
Батчи в любом случае нужны, т.к. любой мало-мальский сложный процессинг состоит из цепочки обработчиков, и лучше процессить с точки зрения эффективности использования CPU именно пачки мессаг, которые прямо сейчас есть под рукой в конвеере. У Дисраптора идеология батчинга кривая-он через флаг прокидывает конец пачки, вместо предоставления пачки целиком. Были мысли втащить это в порт дисраптора, но времени нет, да и нафиг-все равно в бою свои велосипеды использую
источник

I

IdiocyAcceptance in F# Chat
Ну я батчи тут не использую, как минимум
источник

AT

Anton Ternavsky in F# Chat
IdiocyAcceptance
Ну я батчи тут не использую, как минимум
Да, надо погонять без батчинга и сравнить.
источник

I

IdiocyAcceptance in F# Chat
Цель немного иная
источник

AT

Anton Ternavsky in F# Chat
Ну я опять упоролся в собственном мирке, т.к. все проекты что я ваял не обходились без необходимости работать с пачками мессаг.
источник

AT

Anton Ternavsky in F# Chat
А не всем это нужно.
источник

AT

Anton Ternavsky in F# Chat
При большом навале данных в конвеере любого типа всегда образуется множество сообщений, готовых к обработке прямо сейчас, и возможность работать сразу с пачкой-дикий буст дает к пропускной способности и косвенно уменьшает латентность обработки
источник