Re: Re: Calling performance geeks

From: Date: Tue, 14 Mar 2006 07:36:43 +0000
Subject: Re: Re: Calling performance geeks
References: 1 2 3  Groups: php.internals 
Request: Send a blank email to internals+get-22394@lists.php.net to get a copy of this message
If this is possible, like Dmitry said, with a macro, that would be interesting. I'm curious what this macro would look like. Personally, I tend to go for the less readable solution if the performance advantage is definately there. A little comment to the code should always be able to clearify it for any reader. But of course, in this case, it is all entirely up to you guys. Regards, Ron "Andi Gutmans" <andi@zend.com> schreef in bericht news:7.0.1.0.2.20060313225315.04637ef0@zend.com... >I don't think it gets called enough to be substantial and worth making this >harder to maintain (unless I'm proven wrong :) > > Andi > > At 10:51 PM 3/13/2006, Dmitry Stogov wrote: >>In case if this routine is really called to frequency, we can use >>readable >>macros for this optimization. >> >>Thanks. Dmitry. >> >> > -----Original Message----- >> > From: Andi Gutmans [mailto:andi@zend.com] >> > Sent: Tuesday, March 14, 2006 8:57 AM >> > To: Marcus Boerger; Ron Korving >> > Cc: internals@lists.php.net >> > Subject: Re: [PHP-DEV] Re: Calling performance geeks >> > >> > >> > This one isn't a good idea. I bet it won't affect overal performance >> > but makes the code much less maintainable. >> > The others look OK (just took a quick glance) >> > >> > At 01:20 PM 3/13/2006, Marcus Boerger wrote: >> > > > ----- >> > > >> > > > In sapi/apache/mod_php5.c in the function >> > > > php_apache_flag_handler_ex(), >> > > >> > > > the original: >> > > > if (!strcasecmp(arg2, "On") || (arg2[0] == '1' >> > > > && >> > arg2[1] == '\0')) { >> > > > bool_val[0] = '1'; >> > > > } else { >> > > > bool_val[0] = '0'; >> > > > } >> > > >> > > > is over 5 times slower than: >> > > >> > > > if (((arg2[0] == 'O' || arg2[0] == 'o') && >> > > > (arg2[1] == 'n' || >> > > > arg2[1] == >> > > > 'N') && (arg2[2] == '\0')) || (arg2[0] == >> > > > '1' && arg2[1] >> > == '\0')) { >> > > > bool_val[0] = '1'; >> > > > } else { >> > > > bool_val[0] = '0'; >> > > > } >> > > >> > > > ----- >> > >> > -- >> > PHP Internals - PHP Runtime Development Mailing List >> > To unsubscribe, visit: http://www.php.net/unsub.php >> > >> > >> >

« previous php.internals (#22394) next »