You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by "Roy T. Fielding" <fi...@kiwi.ICS.UCI.EDU> on 1999/11/15 07:24:03 UTC

Re: bucket brigades and IOL

>I've got to say that this is the most coherent suggestion along these
>lines that I've seen yet. I rather like it. One thing I'd add is that if
>you are going to have a movable "start of block" pointer, and changeable
>length, it can be nice to allocate extra around the edges under some
>circumstances, so that lower layers can expand the block without having
>to add extra chunks.

Or, alternatively, allocate equal size blocks and just pass around
a reference pair within the buckets that, when the bucket is freed,
access a more complicated reference-counting pool.  I think that is
closer to what IO-Lite does.

>Also, the usual objections still apply - i.e. it is awkward to do things
>like searching for particular strings, since they may cross boundaries.
>I'm beginning to think that the right answer to this is to provide nice
>matching functions that know about the chunked structures, and last
>resort functions that'll glue it all back into one chunk...

Yep, that's what I ended up doing for Ada95, though in that case there
were no easier alternatives.

....Roy

Re: bucket brigades and IOL

Posted by Ben Laurie <be...@algroup.co.uk>.
"Roy T. Fielding" wrote:
> 
> >I've got to say that this is the most coherent suggestion along these
> >lines that I've seen yet. I rather like it. One thing I'd add is that if
> >you are going to have a movable "start of block" pointer, and changeable
> >length, it can be nice to allocate extra around the edges under some
> >circumstances, so that lower layers can expand the block without having
> >to add extra chunks.
> 
> Or, alternatively, allocate equal size blocks and just pass around
> a reference pair within the buckets that, when the bucket is freed,
> access a more complicated reference-counting pool.  I think that is
> closer to what IO-Lite does.
> 
> >Also, the usual objections still apply - i.e. it is awkward to do things
> >like searching for particular strings, since they may cross boundaries.
> >I'm beginning to think that the right answer to this is to provide nice
> >matching functions that know about the chunked structures, and last
> >resort functions that'll glue it all back into one chunk...
> 
> Yep, that's what I ended up doing for Ada95, though in that case there
> were no easier alternatives.

Ummm ... are you saying there are easier alternatives for C? (I probably
shouldn't say it, but there certainly are [for the programmer] in C++).

Cheers,

Ben.

--
http://www.apache-ssl.org/ben.html

"My grandfather once told me that there are two kinds of people: those
who work and those who take the credit. He told me to try to be in the
first group; there was less competition there."
     - Indira Gandhi