On 2026-09-10 14:39, سپهر محمودی wrote:
در تاریخ پنجشنبه ۱۰ سپتامبر ۲۰۲۶، ۰۶:۰۶ youkidearitai
<[email protected]> نوشت:
2026年9月10日(木) 10:07 سپهر محمودی <[email protected]>:
Hi everyone,
I hope you're all having a great week.
I've been following the discussions and recent feedback regarding the
array_str_contains() RFC closely. Performance and speed comparisons
have come up as a key point, especially around whether a dedicated
internal C implementation provides sufficient value compared to a
userland foreach loop.
I'd love to open up a constructive and transparent discussion around
the benchmarking methodology we're using here. Some of the initial
numbers shared recently don't seem to reflect real-world scenarios or
different data profiles (like varying array sizes, early exits vs
worst-case lookups, UTF-8 strings, and compiler optimization flags
like -O2 / -O3).
Before drawing final conclusions on performance, I think it would be
great if we could align on:
1. The exact benchmark scripts and test datasets we should use to
evaluate this fairly.
2. The compilation environment and flags used for generating these
metrics.
3. Where the potential overhead in the current C implementation is
coming from and how we can optimize it together.
My goal has always been to make PHP more expressive and efficient for
everyday developers. I welcome any suggestions, insights, or
benchmark reproductions from the community so we can evaluate this
RFC based on solid, agreed-upon data.
Thanks for your time and feedback!
Best regards,
Sepehr
Hi Internals
For your reference, I have attached the benchmark diff files. (commit
hash is 4982bf45f4786faaa198558dd619f8a4d59e25f0)
- .diff
- .exp
- .log
- .out
- .php
- .phpt
- .sh
I can not find definite improve performance.
(My PC: WSL Ubuntu 24.04, Ryzen 7 7735HS, 32GB RAM)
I don't familiar with Zend Engine's performance, However I think
function's performance improvement is limited.
Regards
Yuya
--
---------------------------
Yuya Hamada (tekimen)
- https://tekitoh-memdhoi.info
- https://github.com/youkidearitai
-----------------------------
Hi Internals,
Thank you all for the time and effort invested in this discussion.
Regarding the benchmarks provided by Yuya, I must address two critical
issues:
1. The provided implementation does not even build in my environment.
It is scientifically impossible to derive any performance conclusions
from code that fails to compile.
2. Given your own admission of limited familiarity with the Zend Engine
internals, the methodology applied here lacks the necessary technical
rigor for a valid assessment.
I am more than willing to engage with constructive, reproducible, and
engine-aware performance analysis. However, as it stands, the provided
material is effectively contentless and does not offer a basis for a
technical evaluation.
Best regards,
Sepehr
Hi Sepehr,
I've also been following the discussions on the mailing list.
My read is that Yuya has been the one most welcoming to you. He was
putting in a word for you during the discussion about message phrasing,
providing you some guidance and expressing willingness to involve you in
the i18n work. His openness is visible even now -- unlike most of us, he
is trying out your code and giving you feedback.
Therefore it is a bit sad to see you being angry and dismissive at him
in the latest discussions. I think you are mistaking his short
statements for hostility or gatekeeping. My suggestion: stop throwing
away his goodwill. If an experienced contributor is giving you feedback,
you should seriously consider that there might be something true and
useful.
Regarding the latest discussion I would like to add that admitting lack
of expertise in zend engine (or anything else) is usually not seen here
as a sign of weakness, but of honesty. Many of the readers and voters
here are not experts on every detail either. If someone admits not
entirely understanding what's going on, it gives you a chance to provide
explanations and proof instead of dismissing his benchmarks as useless.
By the way...
Just for your information: someone praised my work who holds a high
position in php-src and whom I truly respect--meaning your opinion
doesn't really matter to me.
Different open source communities may work differently, but in this one
a reference to an unnamed figure is unlikely to earn you additional
respect or authority. It's best to leave such statements out.
BR,
Juris