httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject Re: woah, "GET /" with autoindex
Date Thu, 11 Jan 2001 22:18:02 GMT

> > The answer is to optimize ap_r* to not require so much allocation. It might
> > also be a good idea to insert a COALESCE filter IFF ap_r* gets called (e.g.
> > insert the filter on the first ap_r* call).
> Sorry, but I don't believe that's the _only_ answer, or optimal either. 
> Perhaps something like an ap_rflush triggered somehow by this mixture of
> calls you mentioned above.

Dean is 100% correct about the COALESCE filter.  It is the wrong solution
99.9% of the time.  It has the correct goal, but in general, it means that
we copy the same data two or even three times, instead of once or never.

I have been thinking along different lines.  What if we remove the
coalesce filter altogether, and add a char * to the brigade structure.

The char * points to a 4K buffer that is allocated when needed.  When we
create heap, or transient, or pool buckets, we copy the data into the
buffer, if it makes sense.  Then, when the buffer is full, we create an
actual bucket, and put it at the end of the brigade.  This has a few
issues, and it will require smudging the line between buckets and filters,
but it could work.

It is an optimization.  We don't need it today.  Let's table this until
after the beta.


Ryan Bloom               
406 29th St.
San Francisco, CA 94131

View raw message