Commit af7917f
authored
Cipher 1.9x speedup (#198)
* Cipher 1.9x speedup
Simplify cipher loop and unroll once.
```
λ benchcmp before.txt after.txt | grep -v "naive"
benchmark old ns/op new ns/op delta
BenchmarkCipher/bytes=7;offset=1-32 7.17 7.79 +8.65%
BenchmarkCipher/bytes=125;offset=0-32 24.5 23.1 -6.07%
BenchmarkCipher/bytes=1024;offset=0-32 126 63.4 -49.87%
BenchmarkCipher/bytes=4096;offset=0-32 462 244 -47.26%
BenchmarkCipher/bytes=4100;offset=4-32 460 249 -45.93%
BenchmarkCipher/bytes=4099;offset=3-32 463 250 -45.93%
BenchmarkCipher/bytes=32775;offset=49-32 3619 1936 -46.50%
benchmark old MB/s new MB/s speedup
BenchmarkCipher/bytes=7;offset=1-32 976.74 898.93 0.92x
BenchmarkCipher/bytes=125;offset=0-32 5092.84 5423.57 1.06x
BenchmarkCipher/bytes=1024;offset=0-32 8103.00 16159.29 1.99x
BenchmarkCipher/bytes=4096;offset=0-32 8870.86 16818.08 1.90x
BenchmarkCipher/bytes=4100;offset=4-32 8917.63 16491.32 1.85x
BenchmarkCipher/bytes=4099;offset=3-32 8854.38 16379.58 1.85x
BenchmarkCipher/bytes=32775;offset=49-32 9056.37 16926.83 1.87x
```
I tried a few variations, but this seemed fine without too many changes.
* Upgrade CI to more modern Go versions.
* Fix doc
* Revert "Upgrade CI to more modern Go versions."
This reverts commit ed29455.1 parent 02bca95 commit af7917f
2 files changed
+13
-9
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
28 | | - | |
29 | | - | |
| 28 | + | |
| 29 | + | |
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
| |||
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
47 | | - | |
| 47 | + | |
| 48 | + | |
48 | 49 | | |
49 | | - | |
50 | | - | |
51 | | - | |
52 | | - | |
53 | | - | |
54 | | - | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
55 | 53 | | |
| 54 | + | |
| 55 | + | |
56 | 56 | | |
57 | 57 | | |
58 | 58 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
169 | 169 | | |
170 | 170 | | |
171 | 171 | | |
| 172 | + | |
| 173 | + | |
172 | 174 | | |
173 | 175 | | |
174 | 176 | | |
| |||
177 | 179 | | |
178 | 180 | | |
179 | 181 | | |
| 182 | + | |
| 183 | + | |
180 | 184 | | |
181 | 185 | | |
182 | 186 | | |
| |||
0 commit comments