httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dean Gaudet <>
Subject Re: misc profiling comments
Date Sun, 11 Jan 1998 11:56:21 GMT
On Sat, 10 Jan 1998, Marc Slemko wrote:

> On Sat, 10 Jan 1998, Dean Gaudet wrote:
> > I've got the beginnings of a hashed version of the table_* stuff.  It's
> > not a full hash table, that would be too heavy.  There's too many tables,
> Unless you can merge them.
> No, I don't think you can do it because destruction would impose too much
> overhead.  Well, you could merge a couple... probably not useful though.
> Your idea sounds reasonable.

Here it is if you want to play with it.  This seems to cut the strcasecmp
calls in half. 

The hash function needs work, here's the current distribution of
r->headers_in hash values: 

       0 Server
       5 Connection
       6 If-Match
       6 Last-Modified
       7 If-None-Match
       7 User-Agent
       8 Accept
       8 Accept-Ranges
       9 Date
      12 If-Modified-Since
      14 Host
      14 If-Unmodified-Since
      17 Request-Range
      21 Content-Length
      21 Content-Type
      24 Transfer-Encoding
      27 Range
      29 ETag

More wins will come when the hash function splits up all of these...  plus
whatever the common headers are that clients send.

But I'm not seeing a huge improvement with this in.  Like a percent or so. 

Oh there's two other hacks in this patch.  MONCONTROL is used to turn
off/on gprof profiling so that it only happens in the children (and fixes
yet another gprof problem under linux, I can't help but wonder if anyone
else even uses gprof under linux).

END_HACK is a big speed win, but not portable... and I've got a patch from
Dima that I'm working with that's more portable. 


View raw message