Skip to content

idea: use monomorphic inline cache slot to speed up object arg/ret type check - #23429

Draft
ndossche wants to merge 1 commit into
php:masterfrom
ndossche:perf-recv-test
Draft

idea: use monomorphic inline cache slot to speed up object arg/ret type check#23429
ndossche wants to merge 1 commit into
php:masterfrom
ndossche:perf-recv-test

Conversation

@ndossche

@ndossche ndossche commented Aug 23, 2026

Copy link
Copy Markdown
Member

No description provided.

@ndossche ndossche changed the title idea: use monomorphic inline cache slot to speed up object arg type c… idea: use monomorphic inline cache slot to speed up object arg/ret type check Aug 23, 2026
@github-actions

Copy link
Copy Markdown

AWS x86_64 (c6id.metal)

Attribute Value
Environment aws
Instance type c6id.metal
Architecture x86_64
CPU Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz, 64 cores @ 2900 MHz
CPU settings disabled deeper C-states, disabled turbo boost, disabled hyper-threading
RAM 251 GB
Kernel 6.18.38-76.139.amzn2023.x86_64
OS Amazon Linux 2023.12.20260727
GCC 14.2.1
Time 2026-08-23 22:24:21 UTC
Job details https://github.com/php/php-src/actions/runs/32670461798 (Artifacts)
Changeset https://github.com/php/php-src/compare/c96900ee74..fea00b464b

Laravel 12.11.0 demo app - 50 iterations, 50 warmups, 100 requests (sec)

PHP Min Max Std dev Rel std dev % Mean Mean diff % Median Median diff % Skewness Z-stat P-value Memory
PHP - baseline@c96900e 0.37051 0.37168 0.00025 0.07% 0.37089 0.00% 0.37082 0.00% 1.346 0.000 1.000 25.67 MB
PHP - baseline@c96900e (JIT) 0.34922 0.35067 0.00027 0.08% 0.34967 -5.72% 0.34961 -5.72% 1.146 8.614 0.000 25.78 MB
PHP - perf-recv-test 0.36942 0.37106 0.00031 0.08% 0.37001 -0.24% 0.36990 -0.25% 1.580 8.007 0.000 25.74 MB

Symfony 2.8.0 demo app - 50 iterations, 50 warmups, 100 requests (sec)

PHP Min Max Std dev Rel std dev % Mean Mean diff % Median Median diff % Skewness Z-stat P-value Memory
PHP - baseline@c96900e 0.66261 0.66951 0.00093 0.14% 0.66859 0.00% 0.66870 0.00% -5.589 0.000 1.000 25.79 MB
PHP - baseline@c96900e (JIT) 0.64029 0.64315 0.00047 0.07% 0.64089 -4.14% 0.64081 -4.17% 2.508 8.614 0.000 26.30 MB
PHP - perf-recv-test 0.67503 0.67727 0.00057 0.08% 0.67596 1.10% 0.67579 1.06% 0.849 -8.614 0.000 25.76 MB

Wordpress 6.9 main page - 50 iterations, 20 warmups, 20 requests (sec)

PHP Min Max Std dev Rel std dev % Mean Mean diff % Median Median diff % Skewness Z-stat P-value Memory
PHP - baseline@c96900e 0.58724 0.59242 0.00095 0.16% 0.58857 0.00% 0.58838 0.00% 2.049 0.000 1.000 26.35 MB
PHP - baseline@c96900e (JIT) 0.51594 0.52107 0.00115 0.22% 0.51719 -12.13% 0.51701 -12.13% 1.752 8.614 0.000 26.42 MB
PHP - perf-recv-test 0.58633 0.59000 0.00075 0.13% 0.58723 -0.23% 0.58704 -0.23% 2.140 7.145 0.000 26.32 MB

bench.php - 50 iterations, 20 warmups, 2 requests (sec)

PHP Min Max Std dev Rel std dev % Mean Mean diff % Median Median diff % Skewness Z-stat P-value Memory
PHP - baseline@c96900e 0.45104 0.45430 0.00066 0.15% 0.45238 0.00% 0.45240 0.00% 0.157 0.000 1.000 26.35 MB
PHP - baseline@c96900e (JIT) 0.14415 0.14490 0.00015 0.10% 0.14455 -68.05% 0.14458 -68.04% -0.364 8.614 0.000 26.42 MB
PHP - perf-recv-test 0.44916 0.45401 0.00080 0.18% 0.45152 -0.19% 0.45145 -0.21% 0.106 5.360 0.000 26.32 MB

micro_bench.php - 50 iterations, 5 warmups, 1 request (sec)

PHP Min Max Std dev Rel std dev % Mean Mean diff % Median Median diff % Skewness Z-stat P-value Memory
PHP - baseline@c96900e 1.29083 1.30933 0.00364 0.28% 1.29729 0.00% 1.29718 0.00% 0.842 0.000 1.000 26.35 MB
PHP - baseline@c96900e (JIT) 0.56605 0.59618 0.00631 1.10% 0.57609 -55.59% 0.57526 -55.65% 0.806 8.614 0.000 26.42 MB
PHP - perf-recv-test 1.28882 1.30307 0.00326 0.25% 1.29549 -0.14% 1.29484 -0.18% 0.429 2.627 0.009 26.32 MB

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant