Faster zend sorting implementation
| From: | Xinchen Hui | Date: | Mon, 05 Jan 2015 17:08:35 +0000 |
| Subject: | Faster zend sorting implementation | ||
| Groups: | php.internals | ||
| Request: | Send a blank email to internals+get-80182@lists.php.net to get a copy of this message | ||
Hey:
I was working on zend_qsort improvement. but I got a problem need
to be disscussed with you fist..
as we know, previously zend_qsort is not a stable sorting algo.
my draft patch (which already get 0.1% IRs reduce in wordpress)
is kindof a stable sorting algo, you can find it here
(https://github.com/laruence/php-src/compare/zend_sort)
so, there is a bc break, like for :
$array = array("o", "O");
sort($array, SORT_STRING|SORT_FLAG_CASE);
var_dump($array);
previously implementation does the swap:
array(2) {
[0]=>
string(1) "O"
[1]=>
string(1) "o"
}
but new implementation doesn't not:
array(2) {
[0]=>
string(1) "o"
[1]=>
string(1) "O"
}
do you think such BC break is acceptable? or I still need a RFC? :<
thanks
--
Xinchen Hui
@Laruence
http://www.laruence.com/