Vladimir
Вообще исходная статья была не про то что nio хуже, а про то что blocking io не хуже nio
Berkus
Ну на практике вроде делают один, не?
на практике делают по разному, у меня в boost::asio крутится сразу несколько io_context тредов
Vladimir
Но мне кажется от задач зависит, хотелось бы исходные бенчи увидеть
Berkus
это клиент, поэтому нет
Vladimir
Чё за клиент которому нужно сразу несколько лупов?
Berkus
сиплюсплюсный
պլհկ
И спустя 10 лет что изменилось? Я вижу появляющиеся процы с 100500 ядрами, а ты?
Я вижу одного аутиста который что-то кукарекает со стороны параши, в то время как весь мир продолжает юзать NIO
Cat
ACID подвезли
Cuno
Ну на практике вроде делают один, не?
Вообще нет, не всегда. SO_REUSEPORT не просто так придумали.
Vladimir
Вообще нет, не всегда. SO_REUSEPORT не просто так придумали.
Я ж не спорю что так можно, но взять бенчи с techempower в Рустем они поверх Токио, и вроде без особых наворотов сверху?
Vladimir
Там есть разные
Какой с больше чем одним ивентлупом?
Vladimir
Actix-web разве что?
պլհկ
О, 0.12 тоже
Vladimir
Хули тогда он такой медленный?
Loo
Хули тогда он такой медленный?
на пенёк сел косарь отдал
ㅤ
На бенчмарк сел должен был перформанс отдать
Αλεχ
я в гиттере уже написал - тут повторюсь
Αλεχ
я виндузятник, так что буду говорить за IOCP
Αλεχ
так вот ICOP требует 0 потоков чтобы обслужить C100k асинхронных запросов
да
@rust_news
Αλεχ
а 0 потоков явно лучше, чем 100к
да
Не тл
Berkus
@rust_news
слыш, бот, @notplhk
да
Не то
Berkus
аль каеду какую-то рекламируешь лол
да
Нет
Berkus
да
да
Я хочу про раст скинуть
Ivan
так вот ICOP требует 0 потоков чтобы обслужить C100k асинхронных запросов
а 0 потоков - это как? вообще программу запускать не надо?
Ivan
=)
да
Там где новости публекуют
Berkus
а 0 потоков явно лучше, чем 100к
а можешь посчитать, во сколько раз? )
Αλεχ
а 0 потоков - это как? вообще программу запускать не надо?
программу запускать надо. Я говорю про потоки, которые обслуживают IO
Αλεχ
например в случае раста понадобится по крайней мере поток эвент лупа, т.к. он не умеет в completness модель, которую IOCP юзает
Ivan
ну то есть один поток в любом случае нужен
Αλεχ
ну то есть один поток в любом случае нужен
поток в котором крутится программа не обслуживает IO
Αλεχ
грубо говоря ты можешь запустить 100к асинхронных операций
Αλεχ
закрыть программу
Αλεχ
а они запишутся
Ivan
эм
Marat
Или это на Винде только
Ivan
звучит неправдоподобно
Berkus
Marat
Просто я когда пытался в Токио разобраться, читал что там не нужен отдельный
Ivan
это же получается утечка ресурсов на системном уровне
Marat
Может не так понял
Ivan
но я венду давно не видел, могу ошибаться
Αλεχ
Разве нужен отдельный поток для эвент лупа в расте?
ну, шарп например не юзает эвент луп
Berkus
это же получается утечка ресурсов на системном уровне
в винде это абсолютно нормально, вспомни GDI handles
Αλεχ
поэтому в нем и потока не нужно
Αλεχ
звучит неправдоподобно
неважно, как звучит, это факт
Αλεχ
http://blog.stephencleary.com/2013/11/there-is-no-thread.html - хорошая статья в тему
Αλεχ
This is an essential truth of async in its purest form: There is no thread. The objectors to this truth are legion. “No,” they cry, “if I am awaiting an operation, there must be a thread that is doing the wait! It’s probably a thread pool thread. Or an OS thread! Or something with a device driver…” Heed not those cries. If the async operation is pure, then there is no thread.
Αλεχ
Ржачная статейка, очень рекомендую
Berkus
есть только уточки
Αλεχ
с домиками
Ivan
нет никаких утечек
> грубо говоря ты можешь запустить 100к асинхронных операций > закрыть программу > а они запишутся
Αλεχ
понятно что при закрытии ос убьет все процессы
Αλεχ
а вот например если ты усыпишь все потоки
Αλεχ
то будет уже вернее
Αλεχ
потоков чтобы выполнять операцию нет (все спят), но она выполняется
Ivan
вот значит не надо грубо вводить людей в заблуждение
Αλεχ
вот значит не надо грубо вводить людей в заблуждение
ну блин, а че мне делать, если вот цитату из статьи мне прям говорят
Αλεχ
"ну ДОЛЖЕН быть какой-то поток"
Αλεχ
вот пример получше придумал - заюзал
Ivan
это уже скорее вопрос терминологии
Ivan
всегда можно сказать, что вот та хитрая хренота в ядре ОС, это не поток
Ivan
и ПОТОКА НЕТ
Ivan
=)