On 01/26/2015 11:14 AM, Pascal Chevrel wrote: > Hi all, > > I just compiled master to test my main application and the good news is > that I have no functional regression and some of the views get a > considerable speed up (like, page generation divided by two!). > > I had one unit test failing and I reduced that to a simple testcase that > I put there: > > http://3v4l.org/4tGv6 > > Sorting in php master in this specific case is now different on PHP 7 > than on 5.3-5.6 (and actually different than PHP 7 at the beginning of > the month). The sorting order is now the same as HHVM. > > I think the HHVM behaviour makes more sense in this case as I don't see > why the resulting array should be reversed in this sorting case where > all lengths are equal, but on the other hand the current behaviour is > probably 10 years old and maybe it could cause bigger problems in other > apps than a unit test to update. > > Just that you know, in case it matters.
Yeah, this is a known change and the documentation has had a note about not relying on the ordering of equal elements. Although the note in the manual is probably a bit too geeky. It should be more explicit and talk about the effect rather than the cause: Note: Like most PHP sorting functions, sort() uses an implementation of ยป Quicksort. The pivot is chosen in the middle of the partition resulting in an optimal time for already sorted arrays. This is however an implementation detail you shouldn't rely on. -Rasmus
signature.asc
Description: OpenPGP digital signature