From a2295236b67ae5bffd346a0b9590748db48ccd4e Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Fri, 24 Jun 2016 23:40:03 +0000 Subject: http: cork chunked responses for small savings This only affects Linux users with MSG_MORE support. We can avoid extra TCP overhead for sub-optimal chunk sizes by using MSG_MORE even with chunk trailers under Linux. This breaks real-time apps which require <= 200ms latency for streaming small packets (e.g. implementing "tail -F"), but the public-inbox WWW code does not (and will never) do such things. --- lib/PublicInbox/HTTP.pm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/PublicInbox/HTTP.pm b/lib/PublicInbox/HTTP.pm index c141fc89..e19c592c 100644 --- a/lib/PublicInbox/HTTP.pm +++ b/lib/PublicInbox/HTTP.pm @@ -223,7 +223,10 @@ sub chunked_wcb ($) { return if $_[0] eq ''; more($self, sprintf("%x\r\n", bytes::length($_[0]))); more($self, $_[0]); - $self->write("\r\n"); + + # use $self->write("\n\n") if you care about real-time + # streaming responses, public-inbox WWW does not. + more($self, "\r\n"); } } -- cgit v1.2.3-24-ge0c7