Skip to content

[pull] master from php:master#518

Merged
pull[bot] merged 11 commits intoturkdevops:masterfrom
php:master
Nov 6, 2025
Merged

[pull] master from php:master#518
pull[bot] merged 11 commits intoturkdevops:masterfrom
php:master

Conversation

@pull
Copy link
Copy Markdown

@pull pull bot commented Nov 6, 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 : )

arnaud-lb and others added 10 commits November 6, 2025 11:20
Strings loaded from the file cache can not have a CE cache, because their cache
slot is invalid. Remove the IS_STR_CLASS_NAME_MAP_PTR flag from these strings.
We can also avoid updating the str flags in SERIALIZE_STR(), since the same
updates must also be done in UNSERIALIZE_STR().

This was already done for interned strings, but not for non-interned ones.

Fixes GH-20329
Closes GH-20337
* PHP-8.3:
  Remove CE cache from non-interned file cache strings
* PHP-8.4:
  Remove CE cache from non-interned file cache strings
* PHP-8.5:
  Remove CE cache from non-interned file cache strings
This test frequently fails in CI, where it took 1.3s, including a repeat due to
being marked as flaky. Bump this limit with a generous margin.
* PHP-8.1:
  [skip ci] Relax Zend/tests/concat_003.phpt
* PHP-8.2:
  [skip ci] Relax Zend/tests/concat_003.phpt
* PHP-8.3:
  [skip ci] Relax Zend/tests/concat_003.phpt
* PHP-8.4:
  [skip ci] Relax Zend/tests/concat_003.phpt
* PHP-8.5:
  [skip ci] Relax Zend/tests/concat_003.phpt
@pull pull bot locked and limited conversation to collaborators Nov 6, 2025
@pull pull bot added the ⤵️ pull label Nov 6, 2025
Packed arrays are likely common in this case, as with array_shift which
already has a similar optimization.

For the following benchmark:
```php
<?php

for ($i = 0; $i < 10000000; $i++) {
    $a = [0, 1, 2, 3, 4, 5];
    array_unshift($a, -3, -2, -1);
}
```

On an i7-4790:
```
Benchmark 1: ./sapi/cli/php x.php
  Time (mean ± σ):     753.8 ms ±  23.8 ms    [User: 749.8 ms, System: 2.1 ms]
  Range (min … max):   734.3 ms … 818.6 ms    10 runs

Benchmark 2: ./sapi/cli/php_old x.php
  Time (mean ± σ):     972.5 ms ±   5.0 ms    [User: 968.8 ms, System: 1.4 ms]
  Range (min … max):   967.8 ms … 984.3 ms    10 runs

Summary
  ./sapi/cli/php x.php  ran
    1.29 ± 0.04 times faster than ./sapi/cli/php_old x.php
```
@pull pull bot merged commit db8c331 into turkdevops:master Nov 6, 2025
2 of 3 checks 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.

3 participants