Маjко
Ты не знаешь что у тебя availible, когда у тебя блокирующее IO
Маjко
Ты можешь только дождаться пока придут твои 2 байта
Маjко
А то о чем ты говоришь — это не блокирующие операции
Anonymous
да я тебе про блокирующее IO написал, что эт не проблема
Anonymous
забудь уже про это
Маjко
Ну да, написал
Anonymous
ты сам все додумал
Anonymous
как таким вообще можно быть?
Маjко
Дак ты пишешь что это не проблема
Маjко
Когда твой блокирующий сервер и 1000 rps не выдаст
Anonymous
ну потом учто это не проблема
Маjко
В каком месте это не проблема?
Маjко
Юлаааа
Маjко
Всё с тобой понятно, обосрался и давай юлить во все стороны
Маjко
Задача — написать отзывчивый сервер с высоким rps.
Контекст был такой. Асинхронный сервер выдаст 100к rps.
Твой безпроблемный с блокирующим IO выдаст 1000 rps
Это не проблема?
Anonymous
о, уже пошла речь про rps
Anonymous
растешь
Маjко
rps — синтетический показатель
Anonymous
как и количество людей
Маjко
Важно сколько клиентов сможет обработать сервер за единицу времени
Маjко
Ты живешь в манямирке
Маjко
Клиенты реальные
Маjко
Они платят деньги
Маjко
Если они ждут больше 2 сек, они закрывают твой сайт
Anonymous
давай на примере
Anonymous
тот рид что я тебе скинул, он на самом деле блокирующий если нету данных в канале
Маjко
Давай ты ответишь на воврос
Маjко
Задача — написать отзывчивый сервер с высоким rps.
Контекст был такой. Асинхронный сервер выдаст 100к rps.
Твой безпроблемный с блокирующим IO выдаст 1000 rps
Это не проблема?
Anonymous
к примеру я делаю read(bla,buf[2], 2)
Anonymous
мы заблокируемся на период какой? правильно пока не заполнятся 2 байта
Маjко
Да
Anonymous
ну дык 2 байта заполнятся как быстро?)
Anonymous
в чем эт проблема то?
Маjко
Клиент подключился и совершенно не хочет слать тебе никакие 2 байта, выбирает товар на сайте
Маjко
В том что клиент не шлет данные сразу как подключится?
Маjко
В том что есть пинг?
Маjко
(то бишь задержка между клиентом и сервером)
Маjко
Пингом не совсем грамотно называть
Маjко
Задежка в среднем 50мс. Твои 2 байта будут идти минимум 50 мс даже при условии что клиент их отправит сразу после подключения
Anonymous
а мы channel вечно открытым держим?
Маjко
А он может этого не сделать
Маjко
а мы channel вечно открытым держим?
Ну у нас как бы TCP сокеты в вэбе в основном. После подключения мы его держим открытым пока соединение не истечет или клиент его не закроет, да
Маjко
И ты в тредпуле будешь ждать пока клиент соблаговолит тебе послать данные
Маjко
При этом не сможешь обслуживать других клиентов
Маjко
Вот я тебе что втолковать пытаюсь
Anonymous
ты что пытаешься доказать?)
Маjко
То что ты обосрался)
Маjко
И что блокирующий IO — нихрена не ок в тредпуле сервера
Anonymous
чувак, если речь идет об acceptor, то не может быть речи об read в котором не известен available
Anonymous
ну че ты несешь то
Маjко
Ты что несешь?)
Маjко
Когда известен availible это уже неблокирующий io
Маjко
Ты не блокируешься на чтение
Маjко
У тебя данные уже есть
Anonymous
я тебе нигде не говорил, что у меня будет блокировка
Anonymous
ты чо такой тугой
Маjко
Эм, если у тебя блокирующий IO — у тебя будет блокировка
Anonymous
эт реально похоже на разговор со стеной
Маjко
Это ввод-вывод, который БЛОКИРУЕТСЯ
Anonymous
все. заебал, ты просто реально даун
Маjко
когда ты не знаешь что данные пришли пока они не придут
Anonymous
хватит
Anonymous
я спать
Маjко
Лол, слив [x2]
Anonymous
я не знаю ок
Anonymous
да слив, я не могу тебе долбаебу уже чтот обьяснять
Маjко
Да ладно не знаешь, это хуй с ним
Anonymous
эт тупо
Маjко
Все ошибаются
Маjко
Но ты продолжаешь пороть херню просто чтобы не признавать что ты обосрался
Маjко
Подменяешь понятия
Маjко
Юлишь
Anonymous
ГДЕ?
Маjко
Да весь тред
Маjко
Говоришь что блокирующий IO — ок, а примеры приводишь с неблокирующим
Маjко
Учись признавать когда ты обосрался, маня
Anonymous
1. попутал типы многозадачности ты
2. назвал read сперва блокирующим - потом не блокирующим ты
кто не знает тут понятия?
Anonymous
где я юлю?