Re: Why so FASTS on Windows? (was: Why so slow on Windows?)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2014-02-10 21:38, Robert Williams wrote:
> Your best first step is to profile the code. I suspect there’s a particular function call that’s responsible for most of the slow-down. For example, maybe your fopen() calls are triggering a network hit by the OS. Once you know the exact source of the slow performance, you can figure out what to do about it.

Ok, I'm a sucker. The word "fopen" put me in the right direction: it had
to be a difference related to the file system: Windows is
case-insensitive, and my program takes care of this comparing files and
paths in case-insensitive way. But here it was the bug: wrong hash
calculation of case-insensitive Unicode strings bringing to the same
exact value for each string, in turn bringing to hash table collisions,
in turn forcing a repeated case-insensitive comparison between file names.

The execution time dropped from 111 s to a fantastic, only 3.31 s!!!
Now the comparison Linux/Windows is reversed:

1) Slackware Linux 12.1, Pentium 4, 32 bits, 1,6 GHz,
PHP-CLI 5.3.6-dev:
26 s * 1.6 GHz = 42 Gcycles

2) Windows Vista Business, Pentium E5300, 32 bits 2.6 GHz,
PHP-CLI 5.3.10-nts:
7.54 s * 2.6 GHz = 19.6 Gcycles

3) Windows Vista Business, Pentium E5300, 32 bits 2.6 GHz,
(same PC of point 2 above)
PHP-CLI 5.5.9-nts:
3.31 s * 2.6 GHz = 8.6 Gcycles

Then the question now is: why so slow on Linux?
I already said I'm a sucker?
Thank you very much to everybody and sorry for the disturb.

-- 

Regards,
 ___
/_|_\  Umberto Salsi
\/_\/  www.icosaedro.it


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php





[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux