Cliff Woolley wrote:
On Fri, 7 Jan 2005, Rasmus Lerdorf wrote:


Why is it hardcoded to be 8000?  It would seem like you could easily be
unlucky and just miss the cutoff and end up with a 6000 byte heap bucket
followed by a 3000 byte transient bucket, for example, as a result of 3
3000 byte ap_rwrites.  For that particular case it might be quite
beneficial to increase APR_BUCKET_BUFF_SIZE to 9000 which would suggest
that it might be something that should be configurable.


In fact, it used to be 9000.  Then we realized that that was causing
cache/page alignment problems.  So we changed it to be just a fuzz less
than 8KB to allow it plus the bucket allocator structures to fit into one
8KB or two 4KB pages.

I still think it would be worthwhile to make it configurable. Linux or FreeBSD5 on IA64 with 16k pages, for example, might show some decent gains by setting that to 15000. Or do a getpagesize() call on startup to determine it dynamically.


-Rasmus



Reply via email to