httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bill Stoddard" <stodd...@raleigh.ibm.com>
Subject Re: cvs commit: apache-2.0/src/main http_core.c http_protocol.c
Date Tue, 03 Oct 2000 19:24:19 GMT
>
> ap_r*.  These are older functions.  They are likely to always work,
> because they are very useful.  Currently, they have horrendous
> performance.  The way to solve this, is to allow ap_r* to buffer data.  If
> multiple calls to ap_r* are made, the buckets should be buffered until it
> is worth it to send the data.

I just reread this and I completely disagree. ap_r* needs to coalesce data in
addition to buffering buckets. ap_r* routines can never be sure of the scope of
the storage passed to them, so you will need to setaside all the calls. It makes
more sense to just explicitly alloc an output buffer inside ap_r* and copy bytes
into that buffer. When you meet your threshold conditions, turn that buffer into
a bucket of suitable type and send it down the chain.

In summary...
-1 on only doing bucket buffering (and not coalescing) in ap_r*
+1 on buffering in the chunking filter
+0 on coalescing in the core_filter

Bill


Mime
View raw message