New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add function alignment for better performance #21431
Conversation
…rformance and startup time
Note that this will break path/line numbers in stacktrace (as pointed by @alexey-milovidov in #18952 (comment)) |
@azat Need to check it - maybe it started to work. |
For function alignment - the changes in performance are unclear, maybe it is faster for 0.3% in average. Good to merge. |
Broken in master. |
Need to disable the flag for Darwin build. |
@alexey-milovidov yep, I've re-checked before writing, it still does not work. |
Ok, I removed compression as we cannot use it for now. Previous run showed -0.3% in average, it can be a noise. |
There is zero difference in performance. Also looks like no difference in test stability. |
Then I am ok not to merge it for now |
Note that all performance tests are performed on Xeon Gold CPUs. Maybe there is some difference on other CPUs but we don't know. @danlark1 do you think we should merge it? |
Ok. |
@danlark1 said that it just should be better. |
I hereby agree to the terms of the CLA available at: https://yandex.ru/legal/cla/?lang=en
Changelog category (leave one):
Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):
Add function alignment for possibly better performance.
Detailed description / Documentation draft:
Let's try to add compression of debug symbols and reduce the binary size by 1.2GB. Also, adding the function alignment for more reproducible results in the performance tests. It is a known technique to reduce such randomness and should potentially help. Either way, let's try and see the build and performance metrics. falign-functions add 0.1% to the binary size which is nothing compared to other clickhouse