-
Notifications
You must be signed in to change notification settings - Fork 7.9k
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
Implement support for Intel crc32 instruction (SSE 4.2) #309
Conversation
Thanks for your pull request. It looks like this may be your first contribution to a Google open source project, in which case you'll need to sign a Contributor License Agreement (CLA). 📝 Please visit https://cla.developers.google.com/ to sign. Once you've signed, please reply here (e.g.
|
e6ccd84
to
fb6bd14
Compare
I signed it! |
CLAs look good, thanks! |
fb6bd14
to
09fb9de
Compare
This patch breaks support for non-x86 systems as written |
Yes, noticed the break. In the process of manually pulling this fix in support for non x86 (and older CPU's) has been fixed. The change is currently stalled while waiting on something unrelated, and will hopefully be unblocked soon. |
This change authored by vadimskipin and submitted via: #309 Changes made to support iOS builds and other architectures without support for SSE 4.2. db_bench reports original crc32 speed at: crc32c : 3.610 micros/op; 1082.0 MB/s (4K per op) with this change performance has increased to: crc32c : 0.843 micros/op; 4633.6 MB/s (4K per op) ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=148694935
Well it took forever (sorry), but we've finally landed this. It needed some changes, some of which could have been done by @vadimskipin, but a few tweaks were more easily made in the Google repo which is why this pull request isn't being merged the GitHub way. Thanks for this pull request @vadimskipin. |
This change authored by vadimskipin and submitted via: google/leveldb#309 Changes made to support iOS builds and other architectures without support for SSE 4.2. db_bench reports original crc32 speed at: crc32c : 3.610 micros/op; 1082.0 MB/s (4K per op) with this change performance has increased to: crc32c : 0.843 micros/op; 4633.6 MB/s (4K per op) ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=148694935
Added support for hardware crc32c instruction.