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