Skip to content

[pull] master from php:master#255

Merged
pull[bot] merged 4 commits intoConnectionMaster:masterfrom
php:master
Oct 9, 2025
Merged

[pull] master from php:master#255
pull[bot] merged 4 commits intoConnectionMaster:masterfrom
php:master

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented Oct 9, 2025

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

dstogov and others added 4 commits October 8, 2025 23:36
IR commit: 62d48607eb3ae5a9d1240115e9e4bdb3decdcadf
* PHP-8.5:
  Update IR
… fields (#20105)

`tmp` can only ever be non-undef if there's a hooked object property, which is
already an `UNEXPECTED()` case. Keep track of whether this case is hit or not
to avoid needlessly calling `zval_ptr_dtor()`.

For:

    <?php

    $len = 0;
    for ($i = 0; $i < 3_000_000; $i++) {
    	$len += strlen(json_encode(array_fill(0, 20, [])));
    }
    var_dump($len);

This is ~1.02 faster for a gcc 13.3 release build on a Intel(R) Core(TM)
i7-1365U.

    Benchmark 1: /tmp/bench/before /tmp/bench/test6.php
      Time (mean ± σ):     762.7 ms ±   3.2 ms    [User: 758.5 ms, System: 2.8 ms]
      Range (min … max):   759.2 ms … 769.3 ms    10 runs

    Benchmark 2: /tmp/bench/after /tmp/bench/test6.php
      Time (mean ± σ):     748.3 ms ±   9.0 ms    [User: 744.3 ms, System: 3.1 ms]
      Range (min … max):   740.8 ms … 766.2 ms    10 runs

    Summary
      /tmp/bench/after /tmp/bench/test6.php ran
        1.02 ± 0.01 times faster than /tmp/bench/before /tmp/bench/test6.php
@pull pull Bot locked and limited conversation to collaborators Oct 9, 2025
@pull pull Bot added the ⤵️ pull label Oct 9, 2025
@pull pull Bot merged commit baa5319 into ConnectionMaster:master Oct 9, 2025
1 check passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants