Size: a a a

2021 April 23

AH

Ayrat Hudaygulov in pro.net
то есть к дотнету имеет прямое отношение.
источник

AH

Ayrat Hudaygulov in pro.net
Мне было бы интересно посмотреть на статистику buffer-hit / buffer-miss
источник

В

Вячеслав in pro.net
чет я не верю, чтение из того драйвера это не сискол?
источник

AH

Ayrat Hudaygulov in pro.net
ну Илья правду говорит, там есть буфер!
источник

В

Вячеслав in pro.net
так я знаю что в ТСР есть буфер, по нему еще скорость регулируется
источник

В

Вячеслав in pro.net
но если я правильно понимаю чтение из него синхронно заблокирует поток, либо я что то не догоняю в работе ОС
источник

В

Вячеслав in pro.net
надо почитать
источник

AH

Ayrat Hudaygulov in pro.net
ну допустим ты чот получаешь больше
буфер я хз сколько, но допустим 4кб, а ты читаешь по 1кб в коде

Вот тут ты по идее делаешь 4 вызова из своего кода и 3 из них могут вернуть синхронно!
источник

AH

Ayrat Hudaygulov in pro.net
но обычно в коде ты читаешь сразу все.
источник

AH

Ayrat Hudaygulov in pro.net
и поэтому у тебя в коде - дай мне результат, а под капотом там нативный буфер вычитывается весь сразу (после ожидания его заполнения) и поэтому никакого синхронного возврата нет
источник

В

Вячеслав in pro.net
эм ну если TcpListener еще себе что то буфирует
источник

В

Вячеслав in pro.net
ну лан срать потом почитаю
источник

AH

Ayrat Hudaygulov in pro.net
да забей, я не верю что эта оптимизация в реальном приложении чот полезное делает только если ты не побайтово читаешь какой-нибуть ссаный кастомный протокол (и тогда синхронный возврат тебе очень поможет)
источник

DB

Dmitry Babushkin in pro.net
Да, вроде, 99% протоколов - кастомных или нет - читают "побайтово". Все знают, что есть буфер, и никто не делает буферизацию на своей стороне.
источник

DB

Dmitry Babushkin in pro.net
А размер служебных пакетов чаще всего не превышает нескольких десятков байт.
источник

AH

Ayrat Hudaygulov in pro.net
Так ты их не сможешь предсказать, даже если это 10 байт НО ИХ НЕТ В БУФЕРЕ, ты их должен будешь подождать.
источник

AH

Ayrat Hudaygulov in pro.net
таки да, но если он не реализован и тебе надо самому фреймы отделять например в потоке байтов.
Тебе придется делать свою буферизацию
источник

AH

Ayrat Hudaygulov in pro.net
Короче, синхронный возврат переоценен. Полезно для протоколо-ёбов, бесполезно для 99% людей
источник

В

Вячеслав in pro.net
ну этот System.IO.Pipeline весь был обмазан ValueTask
источник

AH

Ayrat Hudaygulov in pro.net
протекающая абстракция!!1
(почему нет)
источник