Re: [Config] Extremely slow
| From: | Bertrand Mansion | Date: | Wed, 26 Nov 2003 18:28:10 +0000 |
| Subject: | Re: [Config] Extremely slow | ||
| References: | 1 | Groups: | php.pear.general |
| Request: | Send a blank email to pear-general+get-9163@lists.php.net to get a copy of this message | ||
<bmansion@mamasam.com> wrote :
> <mike@php.net> wrote :
>
>>> Hi, I wrote:
>>
>>> Hm, I made a trace and there are *537* calls to nanosleep!
>>>
>>> nanosleep({0, 1000}, NULL) = 0
>>> gettimeofday({1069848318, 861503}, NULL) = 0
>>>
>>> # grep -c ^nano strace.config.log
>>> 537
>>
>> I used XML::Statistics to count all XML tags - big surprise:
>>
>> 536
>
> He he :)
>
> In my opinion, this is related to the uniqid() function I use to give a
> unique id to each node so that later I can compare them by reference and see
> if they are similar.
>
> Apparently, extensive call of this method on Linux is causing you a problem.
> I must admit I don't know why... I also don't know why it's not a problem on
> Windows.
>
> Maybe I should use a static counter in the Config object ?
>
> With php 5, I won't need this anymore as you can compare two references and
> see if they reference the same thing.
>
> If anyone has an opinion on the topic, I'd be happy to hear it.
> TIA
Mike,
Could you test with line 92 in Config_Container changed to:
$this->_id = uniqid($name.$type, 1);
And report the results.
Thanks,
Bertrand