httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject Re: cvs commit: apache-2.0/src/modules/standard mod_include.c
Date Sat, 14 Oct 2000 03:28:09 GMT

> > No, I'm in no hurry to go any further down this path.  I don't think
> > what is there already is worthwhile.
> > 
> > We don't have better performance and we don't need the change in order
> > to allow modules to implement their own bucket types.
> I'm completely with Jeff on this one. I see no gains, and only negatives, in
> this "improvement". Shrinking the bucket size buys us very little, and (as
> Jeff says) the enumerated type is only important for us to write code to
> detect a few, special types. Obviously, we couldn't have code to look for a
> third-party type, so it doesn't matter what their bucket type is.
> In fact, I'd formalize it and introduce AP_BUCKET_TYPE_EXTENSION. All
> extensions to the bucket system can use that.
> Ryan: will you back that change out?

There are a couple of major improvements that haven't been discussed yet
that this does buy us.

#1)  The ability to let the bucket type grow and mature without requiring
us to re-compile the whole server.  I know binary compatability isn't a
big issue, but it is there.

#2)  We go from making five assignments when creating buckets to making
one.  This is a performance improvement when creating buckets.

#3)  This mimics FreeBSD's kobj code, the guy who did that work did a
thorough performance analysis, and found only a negligable performance hit
came with the redirection.  Granted, we will see a bigger hit until we
move to a pointer/macro based system, but that would only take a few hours
to implement.

The arguments against this so far have been performance, which I
personally don't agree with, and the fact that we can't tell what type we
are, which is solvable in this framework.  This is far more flexible, and
it keeps the bucket size smaller, in fact we shrunk it by about half.  Not
to mention that this improvement was mentioned in the big filter meeting,
where everybody generally agreed that getting the function pointers out of
the bucket type was a good idea.

I would prefer to hear from some of the other people before I back this
out.  I know Tony was planning on doing this at some point, but he is
currently in the middle of moving I believe.

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

View raw message