Avatar for the ctz user
ctz
graviola
BlogDocsChangelog

Fix performance regression of x86_64 GCM with rustc 1.87

#90Merged
Comparing
jbp-x86-gcm-perf-intrinsics
(
9f271e6
) with
main
(
08b80ea
)
CodSpeed Performance Gauge
+11%
Improvement
2
Untouched
132

Benchmarks

134 total
graviola[8KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm
CodSpeed Performance Gauge
+11%
20.6 µs18.6 µs
graviola[8KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm
CodSpeed Performance Gauge
+11%
21.5 µs19.4 µs
graviola[16KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm
CodSpeed Performance Gauge
+9%
48.9 µs44.8 µs
graviola[16KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm
CodSpeed Performance Gauge
+9%
50.7 µs46.6 µs
graviola[2KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm
CodSpeed Performance Gauge
+6%
9 µs8.5 µs
graviola[2KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm
CodSpeed Performance Gauge
+6%
9.7 µs9.1 µs
graviola[32B]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm
CodSpeed Performance Gauge
-5%
2.9 µs3 µs
graviola[32B]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm
CodSpeed Performance Gauge
-4%
2.9 µs3 µs
aws-lc-rs[32B]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm
CodSpeed Performance Gauge
+2%
5.1 µs4.9 µs
ring[32B]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm
CodSpeed Performance Gauge
-2%
3.8 µs3.9 µs
aws-lc-rs[32B]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm
CodSpeed Performance Gauge
+2%
5 µs4.9 µs
rustcrypto[32B]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm
CodSpeed Performance Gauge
+1%
3.3 µs3.3 µs
ring[2KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm
CodSpeed Performance Gauge
-1%
10 µs10 µs
rustcrypto[32B]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm
CodSpeed Performance Gauge
+1%
3.4 µs3.4 µs
rustcrypto[32B]
graviola-bench/benches/sha2.rs::benches::sha256::sha256
CodSpeed Performance Gauge
-1%
7.1 µs7.2 µs
aws-lc-rs[2KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm
CodSpeed Performance Gauge
+1%
11 µs10.9 µs
aws-lc-rs[2KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm
CodSpeed Performance Gauge
+1%
11.5 µs11.4 µs
ring[32B]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm
CodSpeed Performance Gauge
-1%
3.9 µs3.9 µs
rustcrypto[32B]
graviola-bench/benches/sha2.rs::benches::sha512::sha512
CodSpeed Performance Gauge
-1%
5 µs5.1 µs
rustcrypto[32B]
graviola-bench/benches/hmac.rs::benches::sha256::hmac-sha256
CodSpeed Performance Gauge
+1%
11.3 µs11.2 µs
ring[32B]
graviola-bench/benches/sha2.rs::benches::sha512::sha512
CodSpeed Performance Gauge
-1%
5.6 µs5.6 µs
aws-lc-rs[32B]
graviola-bench/benches/sha2.rs::benches::sha256::sha256
CodSpeed Performance Gauge
0%
6.6 µs6.6 µs
graviola[32B]
graviola-bench/benches/hmac.rs::benches::sha384::hmac-sha384
CodSpeed Performance Gauge
0%
9.1 µs9.1 µs
aws-lc-rs[8KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm
CodSpeed Performance Gauge
0%
23.2 µs23.1 µs
ring[32B]
graviola-bench/benches/hmac.rs::benches::sha256::hmac-sha256
CodSpeed Performance Gauge
0%
8.5 µs8.5 µs

Commits

Click on a commit to change the comparison range
Base
main
08b80ea
+10.96%
x86_64::ghash: ensure tag construction is inlined
9f271e6
1 year ago
by ctz
© 2026 CodSpeed Technology
Home Terms Privacy Docs