Size: a a a

var chat = new Chat();

2021 July 08

YM

Yury Morozov in var chat = new Chat();
Если там БД
источник

YM

Yury Morozov in var chat = new Chat();
То вероятно нужно
источник

AW

Andrew Witwicki in var chat = new Chat();
ну в еф есть синхронные методы
источник

AW

Andrew Witwicki in var chat = new Chat();
*и приписка что асп итак методы "асинхронно" запускает тк там есть свой пул тредов, и вот если прям мощная нагрузка планируется тогда можно асинхронно все методы уже делать в контроллерах чтоб расширить пул так сказать
источник

AW

Andrew Witwicki in var chat = new Chat();
если же сразу так сделать, не рабираясь то потеряется немного производительности но етим можно пренебречь будет
источник

YM

Yury Morozov in var chat = new Chat();
асинки нужны тогда, когда мы уходим что-то дергать надолго. Зачем асинки в методах которые гарантированно в 1мс укладываются?
источник

AK

Alex Kiev in var chat = new Chat();
1ms тоже долго )
источник

AW

Andrew Witwicki in var chat = new Chat();
ну если висит очередь 1к запросов то 1 секунду будет ждать последний клиент
источник

AW

Andrew Witwicki in var chat = new Chat();
хотя 1мс то может и мало для такого примера
источник

YM

Yury Morozov in var chat = new Chat();
Это ты гуглу расскажи, админка гмейла ходила за данными по 30 сек
источник

A

Arseniy in var chat = new Chat();
а как ты иначе организуешь параллелизм сейчас? asp.net core не спавнит на каждый входящий запрос по треду а если ты начнёшь это бодро делать то это сильно не обрадует в современных реалиях кубернетис ноду)
пока не могу найти исследование, оценочная разница в стоимости green thread (task/future) vs thread 8-10х на спавн и контекст свич
источник

AK

Alex Kiev in var chat = new Chat();
то что есть ещё больше ничего не меняет )
источник

YM

Yury Morozov in var chat = new Chat();
Шито? У тебя в пуле 1 тред?
источник

AW

Andrew Witwicki in var chat = new Chat();
асп спавнит кажый входящий запрос же, у нее ж есть свой пул
источник

AW

Andrew Witwicki in var chat = new Chat();
по крайней мере так писалв в стекеоверфлове
источник

AW

Andrew Witwicki in var chat = new Chat();
на 1 конкретный тред сложилась такая очередь*
источник

В

Ваня in var chat = new Chat();
асинхронный метод до первого эвейт выполняется синхронно
источник

В

Ваня in var chat = new Chat();
и ты без асинхронных методов будешь генерить лишнюю стейт машину и не более
источник

AW

Andrew Witwicki in var chat = new Chat();
но в конкретно этом примере метод синхронный где 1мс выполняется
источник

В

Ваня in var chat = new Chat();
изначально писалось что не нужны асинк методы в контроллерах где нет каких-то запросов в бд и тд
источник