Re: Re: Calling performance geeks
| From: | Ron Korving | 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
>> >
>> >
>> >