"William A. Rowe, Jr." wrote:

> . Hooks are _not_ the fastest things in the world, especially with the strcmps
>   around ->handler going on.  

Amen!  This one has been bugging me for a long time.  It won't show up
clearly in a profiler, because the CPU cycles are spread over all the
handlers.  We are polluting the instruction cache by touching a lot of
separate chunks of code that only return DECLINED.

>  If we resolve the ->handler up front, why not
>   provide a ->handler_fn member that skips the entire handler() hook walk?

The implementation would be interesting.  Consider mod_dir and
mod_autoindex.  Both can deal with DIR_MAGIC_TYPE, and both could be
present or absent.  But when both are present, the handler topological
sort rules must be respected so that handle_dir runs first.  How do you
propose dealing with that?  And what about the few handlers that support
fuzzy matches?

Greg

Reply via email to