-
Notifications
You must be signed in to change notification settings - Fork 7.3k
Base64 functions #3350
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
Base64 functions #3350
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you please also attach some performance reports (along with perf top)?
It failed to build in our CI. |
@alexey-milovidov , regarding failure on Yandex CI, I see error in each build:
Was the submodule cloned? I have no another idea on failure, comparing to Travis |
@alex-krash The failure is bug in CI system. Submodule was not cloned. |
CI fixed. |
@alex-krash Only minor changes required. |
@alexey-milovidov, yeah, I am finishing. |
Seems to be finished.
Without base64Encode() call (just materialize()):
Codecs:
All vectorized instructions shows nearly same performance, actually.
|
Ok. The codec is correctly selected on my test server (AVX on E5-2650 v2).
TODO: check what happens if I compile on a machine without certain instruction set and run on machine with that instruction set. But when I manually write
Then is will dispatch on every iteration ( |
On your query I also have the same results: 170.397 MiB/s for SSE42 |
It happens with multithreaded query execution:
Maybe this is due to poor implementation of |
This is due to write to a global variable ("false sharing") in "codec_choose_forced" method. |
(Solution: simply do not use "flag" argument of functions.) |
I hereby agree to the terms of the CLA available at: https://yandex.ru/legal/cla/?lang=en