Skip to content
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

s2: Add arm64 decompression #324

Merged
merged 15 commits into from
Feb 26, 2021
Merged

s2: Add arm64 decompression #324

merged 15 commits into from
Feb 26, 2021

Conversation

klauspost
Copy link
Owner

@klauspost klauspost commented Feb 25, 2021

Adapted from Snappy equiv. Minor optimizations along the way.

enwik9 (stream):
Decompressing. 426854614 -> 1000000000 [234.27%]; 7.618s, 125.2MB/s
Decompressing. 426854614 -> 1000000000 [234.27%]; 4.258s, 224.0MB/s

Blocks:
benchmark                     old ns/op     new ns/op     delta
BenchmarkTwainDecode1e1-4     69.5          63.0          -9.27%
BenchmarkTwainDecode1e2-4     184           153           -16.61%
BenchmarkTwainDecode1e3-4     852           522           -38.74%
BenchmarkTwainDecode1e4-4     30220         14678         -51.43%
BenchmarkTwainDecode1e5-4     570195        231880        -59.33%
BenchmarkTwainDecode1e6-4     3349753       1920724       -42.66%

benchmark                     old MB/s     new MB/s     speedup
BenchmarkTwainDecode1e1-4     143.97       158.69       1.10x
BenchmarkTwainDecode1e2-4     544.75       653.07       1.20x
BenchmarkTwainDecode1e3-4     1174.00      1916.39      1.63x
BenchmarkTwainDecode1e4-4     330.90       681.27       2.06x
BenchmarkTwainDecode1e5-4     175.38       431.26       2.46x
BenchmarkTwainDecode1e6-4     298.53       520.64       1.74x

@klauspost klauspost merged commit 48d7571 into master Feb 26, 2021
@klauspost klauspost deleted the s2-arm64-decompression branch February 26, 2021 15:43
klauspost added a commit to klauspost/minio that referenced this pull request Mar 10, 2021
Relevant updates:

* Less allocations on decode: klauspost/compress#322
* Fixed rare out-of-bounds write on amd64.
* ARM64 decompression assembly. Around 2x output speed. klauspost/compress#324
* Speed up decompression on non-assembly platforms. klauspost/compress#328

Upgrade cpuid to match simdjson.
harshavardhana pushed a commit to minio/minio that referenced this pull request Mar 10, 2021
Relevant updates:

* Less allocations on decode: klauspost/compress#322
* Fixed rare out-of-bounds write on amd64.
* ARM64 decompression assembly. Around 2x output speed. klauspost/compress#324
* Speed up decompression on non-assembly platforms. klauspost/compress#328

Upgrade cpuid to match simdjson.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant