On Sat, Jan 31, 2015 at 4:18 PM, Rasmus Lerdorf <ras...@lerdorf.com> wrote:
> On 01/30/2015 09:10 PM, Dmitry Stogov wrote:
>> Hi,
>>
>> Nikita got an idea about stopping changing of array/object internal
>> pointers even in forech by reference.
>> I've added an additional RFC section:
>>
>> https://wiki.php.net/rfc/php7_foreach#additional_behavoir_change
>>
>> Trivial implementation on top of the main patch:
>>
>> https://gist.github.com/dstogov/63b269207ba0aed8b776
>>
>> and an additional proposed voting question.
>>
>> Also, the implementation now must be almost complete.
>
> I built your branch and applied Nikita's patch as well and ran it
> through my benchmark box here. Before -> After numbers in requests/sec:
>
> Drupal8-b4        182 ->  184
> Wordpress-4.1     661 ->  675
> phpbb-3.1.2      1071 -> 1084
> Mediawiki-1.24.1  304 ->  306
> Opencart-2.0.1.1  458 ->  459
> WardrobeCMS-1.2.0 993 ->  999
> Geeklog-2.1.0     823 ->  825
> Traq-3.5.2       1869 -> 1902
>
> So about a 1% boost across the board except for Opencart, but it spends
> most of its time creating sessions on disk and writing to MySQL.
Nice~

thanks
>
> No obvious visible things broke in any of these. Overall, even without
> the performance boost, I think making the edge-case foreach behaviour
> consistent and predictable is a good thing on its own.
>
> -Rasmus
>



-- 
Xinchen Hui
@Laruence
http://www.laruence.com/

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

Reply via email to