httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Greg Ames <>
Subject Re: ap_r* performance patch
Date Mon, 22 Jan 2001 20:33:26 GMT wrote:
> We have two basic patches that have been posted to the list, 

Actually, we have three patches...Victor's came first, and is a good
starting point for comparing designs.  I'm pretty pleased with all of
them, so IMO we are talking details.

> and performance for both is basically equivalent.  

yup...I'm happy with the overall performance of all three.  All could
probably be scrubbed later, no big deal.  And this patch battle has been
pretty civilized compared to the War of the Filters.

Here's how I compare the patches:

Common features:

* the ap_r* APIs are unchanged from 1.3 .  
* small data is buffered with a small number of cycles burned in the
usual case.
* virtual memory usage is limited by the size of the buffer, and by
network back pressure for slow links/clients


o Generality

  * Victor's patch only buffers the Apache ap_r* APIs.
  * Greg's patch could be used by other users of Apache filters
  * Ryan's patch could be used by other users of APR buckets/brigades

o Out-of-order data problem with mixed APIs

  * Greg's patch is designed to accomodate mixing ap_r* and bucket
brigade API calls without relying on the module explicitly flushing the
  * Victor and Ryan's patches both require explicit flushes.

The generality thing is nice but not a huge deal to me, because AFAIK we
have nobody else asking for/needing buffering outside of ap_r* today.  I
do like how gstein caught the out-of-order data problem and provided a
fix before it bit us.

> so, we have basically two patches:
>         [ ]    ap_brigade_* functions    (rbb's)
>         [X]    old_write_filter          (gstein's)

Greg Ames

View raw message