Please lets not go overboard with these types of optimizations. This could get out of control quickly. Having code that is easy to read, understand and maintain is -much- more important than saving a a few extra cycles.
Bill ----- Original Message ----- From: <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Wednesday, April 24, 2002 10:31 AM Subject: cvs commit: httpd-2.0/server core.c > gregames 02/04/24 07:31:28 > > Modified: server core.c > Log: > default_handler: short circuit the method checks. Move the code to deal > with unusual methods to the end of function to reduce i-cache clutter. > > Revision Changes Path > 1.171 +13 -11 httpd-2.0/server/core.c > > Index: core.c > =================================================================== > RCS file: /home/cvs/httpd-2.0/server/core.c,v > retrieving revision 1.170 > retrieving revision 1.171 > diff -u -r1.170 -r1.171 > --- core.c 22 Apr 2002 08:08:38 -0000 1.170 > +++ core.c 24 Apr 2002 14:31:28 -0000 1.171 > @@ -3167,18 +3167,8 @@ > return errstatus; > } > > - if (r->method_number == M_INVALID) { > - ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, 0, r, > - "Invalid method in request %s", r->the_request); > - return HTTP_NOT_IMPLEMENTED; > - } > - > - if (r->method_number == M_OPTIONS) { > - return ap_send_http_options(r); > - } > - > if (r->method_number != M_GET && r->method_number != M_POST) { > - return HTTP_METHOD_NOT_ALLOWED; > + goto unusual_method; > } > > if (r->finfo.filetype == 0) { > @@ -3248,6 +3238,18 @@ > APR_BRIGADE_INSERT_TAIL(bb, e); > > return ap_pass_brigade(r->output_filters, bb); > + > +unusual_method: > + if (r->method_number == M_INVALID) { > + ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, 0, r, > + "Invalid method in request %s", r->the_request); > + return HTTP_NOT_IMPLEMENTED; > + } > + > + if (r->method_number == M_OPTIONS) { > + return ap_send_http_options(r); > + } > + return HTTP_METHOD_NOT_ALLOWED; > } > > static int net_time_filter(ap_filter_t *f, apr_bucket_brigade *b, > > > >