Skip to content

[pull] master from php:master#73

Merged
pull[bot] merged 11 commits into
dolfly:masterfrom
php:master
Jul 21, 2025
Merged

[pull] master from php:master#73
pull[bot] merged 11 commits into
dolfly:masterfrom
php:master

Conversation

@pull

@pull pull Bot commented Jul 21, 2025

Copy link
Copy Markdown

See Commits and Changes for more details.


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

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

ArtUkrainskiy and others added 11 commits July 21, 2025 20:57
Optimize scanning for '&' and ';' using memchr. Use memcpy instead of
character-by-character copying language.

Closes GH-18092
#19141)

Instead of
* adding a zval on the stack
* initializing it
* copying the value to the attribute

Just initialize the value directly in the zend_attribute_arg
For this benchmark:
```php
$length = 25;
for ($i=0;$i<1000;$i++)
  array_chunk(range(0, 10000), $length);
```

On an i7-4790, length=25 speeds up by 1.8x and length=1 by 1.27x.
On an i7-1185G7, length=25 speeds up by 1.08x and length=1 by 1.02x.
By preallocating it as a packed array, we save the initial
initialization overhead.
Gives a few extra percentage points improvement.
* PHP-8.1:
  Fix test conflict between chmod_variation2 and file_variation5
* PHP-8.2:
  Fix test conflict between chmod_variation2 and file_variation5
* PHP-8.3:
  Fix test conflict between chmod_variation2 and file_variation5
* PHP-8.4:
  Fix test conflict between chmod_variation2 and file_variation5
@pull pull Bot locked and limited conversation to collaborators Jul 21, 2025
@pull pull Bot added the ⤵️ pull label Jul 21, 2025
@pull pull Bot merged commit 113eb20 into dolfly:master Jul 21, 2025
5 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