-
Notifications
You must be signed in to change notification settings - Fork 299
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
inflate: Limit variable shifts (#274)
* inflate: Limit variable shifts Use and operations to speed up variable shifts. Faster on AMD64: ``` benchmark old ns/op new ns/op delta BenchmarkDecodeDigitsSpeed1e4-32 57027 56892 -0.24% BenchmarkDecodeDigitsSpeed1e5-32 657866 650408 -1.13% BenchmarkDecodeDigitsSpeed1e6-32 6679774 6425893 -3.80% BenchmarkDecodeDigitsDefault1e4-32 62810 61858 -1.52% BenchmarkDecodeDigitsDefault1e5-32 657865 628677 -4.44% BenchmarkDecodeDigitsDefault1e6-32 6486343 6211232 -4.24% BenchmarkDecodeDigitsCompress1e4-32 62169 61555 -0.99% BenchmarkDecodeDigitsCompress1e5-32 677789 668714 -1.34% BenchmarkDecodeDigitsCompress1e6-32 6851431 6685226 -2.43% BenchmarkDecodeTwainSpeed1e4-32 60606 59003 -2.64% BenchmarkDecodeTwainSpeed1e5-32 628151 609357 -2.99% BenchmarkDecodeTwainSpeed1e6-32 6238098 6015035 -3.58% BenchmarkDecodeTwainDefault1e4-32 59901 59167 -1.23% BenchmarkDecodeTwainDefault1e5-32 576772 561311 -2.68% BenchmarkDecodeTwainDefault1e6-32 5701418 5479259 -3.90% BenchmarkDecodeTwainCompress1e4-32 58582 56825 -3.00% BenchmarkDecodeTwainCompress1e5-32 535572 515826 -3.69% BenchmarkDecodeTwainCompress1e6-32 5265486 5090632 -3.32% BenchmarkDecodeRandomSpeed1e4-32 323 319 -1.24% BenchmarkDecodeRandomSpeed1e5-32 1954 1945 -0.46% BenchmarkDecodeRandomSpeed1e6-32 20016 20026 +0.05% benchmark old MB/s new MB/s speedup BenchmarkDecodeDigitsSpeed1e4-32 175.35 175.77 1.00x BenchmarkDecodeDigitsSpeed1e5-32 152.01 153.75 1.01x BenchmarkDecodeDigitsSpeed1e6-32 149.71 155.62 1.04x BenchmarkDecodeDigitsDefault1e4-32 159.21 161.66 1.02x BenchmarkDecodeDigitsDefault1e5-32 152.01 159.06 1.05x BenchmarkDecodeDigitsDefault1e6-32 154.17 161.00 1.04x BenchmarkDecodeDigitsCompress1e4-32 160.85 162.46 1.01x BenchmarkDecodeDigitsCompress1e5-32 147.54 149.54 1.01x BenchmarkDecodeDigitsCompress1e6-32 145.95 149.58 1.02x BenchmarkDecodeTwainSpeed1e4-32 165.00 169.48 1.03x BenchmarkDecodeTwainSpeed1e5-32 159.20 164.11 1.03x BenchmarkDecodeTwainSpeed1e6-32 160.31 166.25 1.04x BenchmarkDecodeTwainDefault1e4-32 166.94 169.01 1.01x BenchmarkDecodeTwainDefault1e5-32 173.38 178.15 1.03x BenchmarkDecodeTwainDefault1e6-32 175.39 182.51 1.04x BenchmarkDecodeTwainCompress1e4-32 170.70 175.98 1.03x BenchmarkDecodeTwainCompress1e5-32 186.72 193.86 1.04x BenchmarkDecodeTwainCompress1e6-32 189.92 196.44 1.03x BenchmarkDecodeRandomSpeed1e4-32 30915.66 31375.28 1.01x BenchmarkDecodeRandomSpeed1e5-32 51177.19 51408.19 1.00x BenchmarkDecodeRandomSpeed1e6-32 49958.99 49936.11 1.00x ``` * Avoid regressing other platforms.
- Loading branch information
Showing
7 changed files
with
190 additions
and
102 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.