-
Notifications
You must be signed in to change notification settings - Fork 7.9k
zend_execute: Mark zend_get_executed_*()
as __attribute__((pure))
#18998
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
base: master
Are you sure you want to change the base?
Conversation
CI Benchmark indicates a slight slowdown. Can anyone with a “reliable CPU” do another non-valgrind check to see if this actually resulted in regressions? My CPU is notoriously bad at benchmarking. |
First test looks to be slower. Edit: Second run approx. confirms.
|
Can relate |
b26e8a6
to
2fb856e
Compare
Coming from your other PR, I see now why you submitted this. |
These functions do not modify the state of the program and depend on thread-safe global variables only.
2fb856e
to
edf10a4
Compare
Given that this PR seems to lead to a unclear performance degradation, I'd prefer not to merge it. We can investigate why it happens, and potentially create a bug report if we can identify a compiler-related culprit. It may also be alignment-related, as Niels mentioned. I have thought about a way to align the function offsets of two binaries when I encountered this issue myself, given that |
Also, for completion's sake: I tried to apply The entire PR showed a big degradation, although I don't remember by how much nor how I measured it. It would ofc be great if this unlocked some optimization opportunities. In that case, it might be better to go the automated route, rather than applying it bit-by-bit by hand. |
These functions do not modify the state of the program and depend on thread-safe global variables only.
This is a possible precursor to #18995.