Я ищу оптимальное значение сна для получения данных из неблокирующего сокета. Например:
while True:
data=s.recv(1024)
if not data:
time.sleep(10) #10ms
else:
pass #...
Отсутствие сна привело бы к 100%-му использованию ЦП, так что есть идеи, как получить наилучшую загрузку ЦП и пропускную способность? Как долго должен быть сон, чтобы процессор мог переключать потоки?
Кстати, есть ли смысл через SO_SNDBUF/SO_RECVBUF задавать буфер сокета и задавать TCP_NODELAY или их не стоит совмещать?
sleep()
когда-либо существовала. Для каждого использованияsleep()
есть другой, более подходящий метод. - person Jan Hudec   schedule 13.09.2011