Great patch! From my quick tests I got about 35% performance increase.
Ah, it needs a little tweak to work on windows, as 'long long' is defined as __int64 (probably we could do a typedef once for all, as there are already many #ifdefs in the code because of this).

Nuno


----- Original Message -----
Nice patch! Looks good to me... Any other thoughts?

-----Original Message-----
From: Matt Wilmas [mailto:[EMAIL PROTECTED]
Sent: Wednesday, November 08, 2006 8:47 PM
To: internals@lists.php.net
Subject: [PHP-DEV] Optimization for ..._MULTIPLY_LONG on more systems

Hi,

Here's an additional ZEND_SIGNED_MULTIPLY_LONG() for
platforms with 32-bit longs that don't use the assembly
version (so all Windows systems at least?).  On my Windows
system, mul_function() is 40% faster with this version (no
overflow), which makes PHP's * operator 20% faster; with
overflow mul_function() is 20% faster (though I don't see any
difference with the * operator).  The macro is also used in
safe_emalloc()...

Patch just against 5_2 as the file versions are the only difference.


Matt

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to