Received: by taz.hyperreal.com (8.8.4/V2.0) id QAA29563; Mon, 27 Jan 1997 16:29:46 -0800 (PST) Received: from twinlark.arctic.org by taz.hyperreal.com (8.8.4/V2.0) with SMTP id QAA29550; Mon, 27 Jan 1997 16:29:42 -0800 (PST) Received: (qmail 6396 invoked by uid 500); 28 Jan 1997 00:28:39 -0000 Date: Mon, 27 Jan 1997 16:28:38 -0800 (PST) From: Dean Gaudet To: new-httpd@apache.org Subject: pipelining and chunking Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: new-httpd-owner@apache.org Precedence: bulk Reply-To: new-httpd@hyperreal.com So Henrik and I have concluded that the problem is in the libwww library and not in Apache. He's working on that and will re-do the benchmarks when he's got it fixed. In the meanwhile, I hope to get a chance later this week to use the libwww robot to test chunking. I'd like to implement the performance tweak I was talking about, is there any chance of it getting into 1.2? Here's the outline: - add char *chunk_header to the buff structure. If non-null then this points to the first byte of a chunk header in the buffer. This is set by the switch to chunking, and at that time enough space is reserved for the header (you know how big it'll be at that time). Since the chunk trailer requires two bytes I'll also decrease bufsiz by two at this time (or implement some other kludge). - when flushing the buffer, twiddle chunk_header if required, tack on the chunk trailer, flush away. Start off a fresh buffer with a new chunk_header, and outcnt set appropriately. This essentially eliminates all the bflush()s that we have left. It's not as elegant as layered i/o, but it should do the job. Dean