[Web-SIG] yield considered harmful (was: x-wsgiorg.flush)
Phillip J. Eby
pje at telecommunity.com
Sat Oct 6 08:03:02 CEST 2007
At 01:07 PM 10/6/2007 +1000, René Dudfield wrote:
>I think 'streaming' is good for speeding up web pages when processing
>takes a while.
>I'll explain why...
>Say your page takes 0.2 seconds to process.
>If you wait until 0.2 seconds is up, then the first bytes that will
>come to the browser will arrive in at least 0.2 seconds. Whereas if
>you send data as soon as its ready, then the user will be able to see
>some of that data more quickly - and possibly make more requests
It's faster for the user, but not necessarily for the server. The
server will do more system calls, and the CPU will do more context
switches. So, if you're going to stream for purposes of
responsiveness, you're going to be trading off against overall server
Nonetheless, the pages where you even have the choice of streaming
are infrequent. Most of the examples I see of people doing streaming
are completely worthless, because there isn't any non-trivial
computation taking place between the yields.
More information about the Web-SIG