IMHO you mix abstract "buffering" and double buffering in real life. Buffering is needed, no question. But when you write
var s = renderTemplate(...) then `s` is buffer for your output data. And Nagle will not improve things. It will add just useless secondary buffer. Can anyone explain, when Nagle will be really useful? Or where is a mistake in my example. пятница, 19 октября 2012 г., 11:14:22 UTC+4 пользователь greelgorke написал: > > nagle is a tradeoff. Nagle tries to increase bandwidth usage and increases > latency for this. thats the desired behavior for the most www use cases > without realtime requirements (realtime as it meaned, not the > server-push-communication). opposite to it realtime apps like games are > more latency dependent their users have usualy enough bandwidth, so nagel > is contra-productive here. > > And Nagle behaviour is what most developers are expecting for web apps. > I'd prefer not to turn it off by default. if you know you don't use it in > your app, just set it off, it is not that hard. > > greez > > Am Freitag, 19. Oktober 2012 07:08:36 UTC+2 schrieb Vitaly Puzrin: >> >> Simon, that's default function param, not default buffering state. >> >> "By default TCP connections use the Nagle algorithm, they buffer data >> before sending it off." - from the link above. >> >> пятница, 19 октября 2012 г., 9:00:22 UTC+4 пользователь Simon написал: >>> >>> It looks like noDelay is true by default, which means buffering is off. >>> >>> On Thursday, October 18, 2012 8:44:32 PM UTC+7, Vitaly Puzrin wrote: >>>> >>>> http://nodejs.org/api/net.html#net_socket_setnodelay_nodelay >>>> >>>> Can anyone explain use case, when default buffering is really useful? >>>> IMHO, it just make to place additional code every time, to disable it: >>>> >>>> 1. If one send data with single block (render template, and return all >>>> page), then Nagle will not help, and will cause double buffering. >>>> 2. If one send data as stream, there are 2 subcases: >>>> - small messaging - delay must be disabled to deliver each message >>>> ASAP >>>> - big files via pipes - they already have internal buffers (and it's >>>> more effective to increase file buffers) >>>> >>>> I don't pretend on 100% coverage. That's just the most used cases, >>>> IMHO. So, looks like it's better to disable Naggle by default >>>> Any ideas? >>>> >>>> Vitaly >>>> >>> -- Job Board: http://jobs.nodejs.org/ Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines You received this message because you are subscribed to the Google Groups "nodejs" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/nodejs?hl=en?hl=en
