Avatar for the ctz user
ctz
graviola
BlogDocsChangelog

ed25519: {x86_64, aarch64}: codegen required s2n-bignum assembly

#74
Comparing
phlip9:phlip9/ed25519-low-codegen
(
4ec2dd5
) with
main
(
94b6bcf
)
CodSpeed Performance Gauge
0%
Improvements
0
Regressions
0
Untouched
134
New
0
Dropped
0
Ignored
0

Benchmarks

Passed

graviola[32B]
graviola-bench/benches/hmac.rs::benches::sha384::hmac-sha384::graviola[32B]
CodSpeed Performance Gauge
+1%
9.1 µs
9.1 µs
rustcrypto[32B]
graviola-bench/benches/hmac.rs::benches::sha256::hmac-sha256::rustcrypto[32B]
CodSpeed Performance Gauge
+1%
11.3 µs
11.2 µs
graviola[32B]
graviola-bench/benches/hmac.rs::benches::sha256::hmac-sha256::graviola[32B]
CodSpeed Performance Gauge
0%
9.1 µs
9.1 µs
aws-lc-rs[32B]
graviola-bench/benches/hmac.rs::benches::sha256::hmac-sha256::aws-lc-rs[32B]
CodSpeed Performance Gauge
0%
10.9 µs
10.9 µs
aws-lc-rs[32B]
graviola-bench/benches/hmac.rs::benches::sha384::hmac-sha384::aws-lc-rs[32B]
CodSpeed Performance Gauge
0%
12.8 µs
12.8 µs
graviola[2KB]
graviola-bench/benches/hmac.rs::benches::sha384::hmac-sha384::graviola[2KB]
CodSpeed Performance Gauge
0%
33.2 µs
33.2 µs
rustcrypto[2KB]
graviola-bench/benches/hmac.rs::benches::sha256::hmac-sha256::rustcrypto[2KB]
CodSpeed Performance Gauge
0%
46.2 µs
46.1 µs
aws-lc-rs[2KB]
graviola-bench/benches/hmac.rs::benches::sha384::hmac-sha384::aws-lc-rs[2KB]
CodSpeed Performance Gauge
0%
27.7 µs
27.7 µs
aws-lc-rs[2KB]
graviola-bench/benches/hmac.rs::benches::sha256::hmac-sha256::aws-lc-rs[2KB]
CodSpeed Performance Gauge
0%
31.5 µs
31.5 µs
ring
graviola-bench/benches/p256.rs::benches::ecdsa_sign::p256-ecdsa-sign::ring
CodSpeed Performance Gauge
0%
152.4 µs
152.4 µs
aws-lc-rs
graviola-bench/benches/p256.rs::benches::ecdsa_sign::p256-ecdsa-sign::aws-lc-rs
CodSpeed Performance Gauge
0%
189.2 µs
189.1 µs
graviola[2KB]
graviola-bench/benches/hmac.rs::benches::sha256::hmac-sha256::graviola[2KB]
CodSpeed Performance Gauge
0%
54.3 µs
54.2 µs
ring
graviola-bench/benches/p256.rs::benches::ecdsa_verify::p256-ecdsa-verify::ring
CodSpeed Performance Gauge
0%
260.3 µs
260.3 µs
ring
graviola-bench/benches/p256.rs::benches::keygen::p256-keygen::ring
CodSpeed Performance Gauge
0%
126 µs
125.9 µs
aws-lc-rs
graviola-bench/benches/x25519.rs::benches::x25519::x25519-ecdh::aws-lc-rs
CodSpeed Performance Gauge
0%
202.8 µs
202.7 µs
dalek
graviola-bench/benches/x25519.rs::benches::x25519::x25519-ecdh::dalek
CodSpeed Performance Gauge
0%
361.1 µs
361.1 µs
aws-lc-rs
graviola-bench/benches/p256.rs::benches::ecdsa_verify::p256-ecdsa-verify::aws-lc-rs
CodSpeed Performance Gauge
0%
269.9 µs
269.8 µs
ring
graviola-bench/benches/x25519.rs::benches::x25519::x25519-ecdh::ring
CodSpeed Performance Gauge
0%
274.4 µs
274.4 µs
aws-lc-rs
graviola-bench/benches/p256.rs::benches::ecdh::p256-ecdh::aws-lc-rs
CodSpeed Performance Gauge
0%
347.1 µs
347.1 µs
graviola
graviola-bench/benches/p384.rs::benches::ecdsa_sign::p384-ecdsa-sign::graviola
CodSpeed Performance Gauge
0%
715.1 µs
715.1 µs
ring
graviola-bench/benches/p256.rs::benches::ecdh::p256-ecdh::ring
CodSpeed Performance Gauge
0%
343.7 µs
343.6 µs
graviola
graviola-bench/benches/p384.rs::benches::ecdsa_verify::p384-ecdsa-verify::graviola
CodSpeed Performance Gauge
0%
1.2 ms
1.2 ms
graviola
graviola-bench/benches/p384.rs::benches::keygen::p384-keygen::graviola
CodSpeed Performance Gauge
0%
659.1 µs
659.1 µs
ring
graviola-bench/benches/p384.rs::benches::ecdsa_sign::p384-ecdsa-sign::ring
CodSpeed Performance Gauge
0%
2 ms
2 ms
rustcrypto
graviola-bench/benches/p256.rs::benches::ecdsa_verify::p256-ecdsa-verify::rustcrypto
CodSpeed Performance Gauge
0%
1.1 ms
1.1 ms
graviola
graviola-bench/benches/p384.rs::benches::ecdh::p384-ecdh::graviola
CodSpeed Performance Gauge
0%
1.4 ms
1.4 ms
ring
graviola-bench/benches/p384.rs::benches::ecdsa_verify::p384-ecdsa-verify::ring
CodSpeed Performance Gauge
0%
3.6 ms
3.6 ms
ring
graviola-bench/benches/p384.rs::benches::ecdh::p384-ecdh::ring
CodSpeed Performance Gauge
0%
3.7 ms
3.7 ms
aws-lc-rs
graviola-bench/benches/p384.rs::benches::ecdh::p384-ecdh::aws-lc-rs
CodSpeed Performance Gauge
0%
925 µs
925 µs
aws-lc-rs
graviola-bench/benches/p384.rs::benches::ecdsa_verify::p384-ecdsa-verify::aws-lc-rs
CodSpeed Performance Gauge
0%
878.9 µs
878.9 µs
graviola
graviola-bench/benches/p256.rs::benches::keygen::p256-keygen::graviola
CodSpeed Performance Gauge
0%
120.7 µs
120.7 µs
graviola
graviola-bench/benches/p256.rs::benches::ecdh::p256-ecdh::graviola
CodSpeed Performance Gauge
0%
426.1 µs
426.1 µs
aws-lc-rs[32B]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::aws-lc-rs[32B]
CodSpeed Performance Gauge
0%
5 µs
5 µs
graviola[16KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::graviola[16KB]
CodSpeed Performance Gauge
0%
48.9 µs
48.9 µs
graviola[2KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::graviola[2KB]
CodSpeed Performance Gauge
0%
9 µs
9 µs
graviola[32B]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::graviola[32B]
CodSpeed Performance Gauge
0%
2.9 µs
2.9 µs
graviola[8KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::graviola[8KB]
CodSpeed Performance Gauge
0%
20.6 µs
20.6 µs
ring[32B]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::ring[32B]
CodSpeed Performance Gauge
0%
3.8 µs
3.8 µs
rustcrypto[16KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::rustcrypto[16KB]
CodSpeed Performance Gauge
0%
66.6 µs
66.6 µs
rustcrypto[2KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::rustcrypto[2KB]
CodSpeed Performance Gauge
0%
11.1 µs
11.1 µs
rustcrypto[32B]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::rustcrypto[32B]
CodSpeed Performance Gauge
0%
3.3 µs
3.3 µs
rustcrypto[8KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::rustcrypto[8KB]
CodSpeed Performance Gauge
0%
29.4 µs
29.4 µs
aws-lc-rs[32B]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::aws-lc-rs[32B]
CodSpeed Performance Gauge
0%
5.1 µs
5.1 µs
graviola[16KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::graviola[16KB]
CodSpeed Performance Gauge
0%
50.7 µs
50.7 µs
graviola[2KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::graviola[2KB]
CodSpeed Performance Gauge
0%
9.7 µs
9.7 µs
graviola[32B]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::graviola[32B]
CodSpeed Performance Gauge
0%
3 µs
3 µs
graviola[8KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::graviola[8KB]
CodSpeed Performance Gauge
0%
21.5 µs
21.5 µs
ring[32B]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::ring[32B]
CodSpeed Performance Gauge
0%
3.9 µs
3.9 µs
rustcrypto[16KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::rustcrypto[16KB]
CodSpeed Performance Gauge
0%
68.9 µs
68.9 µs
rustcrypto[2KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::rustcrypto[2KB]
CodSpeed Performance Gauge
0%
12.1 µs
12.1 µs
rustcrypto[32B]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::rustcrypto[32B]
CodSpeed Performance Gauge
0%
3.4 µs
3.4 µs
rustcrypto[8KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::rustcrypto[8KB]
CodSpeed Performance Gauge
0%
30.6 µs
30.6 µs
aws-lc-rs[16KB]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305::aws-lc-rs[16KB]
CodSpeed Performance Gauge
0%
64.4 µs
64.4 µs
aws-lc-rs[2KB]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305::aws-lc-rs[2KB]
CodSpeed Performance Gauge
0%
13.1 µs
13.1 µs
aws-lc-rs[32B]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305::aws-lc-rs[32B]
CodSpeed Performance Gauge
0%
4.2 µs
4.2 µs
graviola[16KB]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305::graviola[16KB]
CodSpeed Performance Gauge
0%
112.9 µs
112.9 µs
graviola[2KB]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305::graviola[2KB]
CodSpeed Performance Gauge
0%
17.9 µs
17.9 µs
graviola[32B]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305::graviola[32B]
CodSpeed Performance Gauge
0%
4.2 µs
4.2 µs
ring[16KB]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305::ring[16KB]
CodSpeed Performance Gauge
0%
63.8 µs
63.8 µs
ring[2KB]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305::ring[2KB]
CodSpeed Performance Gauge
0%
12.6 µs
12.6 µs
ring[32B]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305::ring[32B]
CodSpeed Performance Gauge
0%
3.5 µs
3.5 µs
rustcrypto[16KB]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305::rustcrypto[16KB]
CodSpeed Performance Gauge
0%
84.2 µs
84.2 µs
rustcrypto[2KB]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305::rustcrypto[2KB]
CodSpeed Performance Gauge
0%
21.3 µs
21.3 µs
rustcrypto[32B]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305::rustcrypto[32B]
CodSpeed Performance Gauge
0%
12.4 µs
12.4 µs
rustcrypto[2KB]
graviola-bench/benches/hmac.rs::benches::sha384::hmac-sha384::rustcrypto[2KB]
CodSpeed Performance Gauge
0%
36.9 µs
36.9 µs
rustcrypto[32B]
graviola-bench/benches/hmac.rs::benches::sha384::hmac-sha384::rustcrypto[32B]
CodSpeed Performance Gauge
0%
12.8 µs
12.8 µs
p256-rustcrypto
graviola-bench/benches/p256.rs::benches::ecdh::p256-ecdh::p256-rustcrypto
CodSpeed Performance Gauge
0%
1.1 ms
1.1 ms
p384-rustcrypto
graviola-bench/benches/p384.rs::benches::ecdh::p384-ecdh::p384-rustcrypto
CodSpeed Performance Gauge
0%
5.4 ms
5.4 ms
ring
graviola-bench/benches/p384.rs::benches::keygen::p384-keygen::ring
CodSpeed Performance Gauge
0%
1.9 ms
1.9 ms
aws-lc-rs
graviola-bench/benches/rsa_priv.rs::benches::rsa2048_pkcs1_sha256_sign::rsa2048-pkcs1-sha256-sign::aws-lc-rs
CodSpeed Performance Gauge
0%
2.4 ms
2.4 ms
ring
graviola-bench/benches/rsa_priv.rs::benches::rsa2048_pkcs1_sha256_sign::rsa2048-pkcs1-sha256-sign::ring
CodSpeed Performance Gauge
0%
3.5 ms
3.5 ms
graviola
graviola-bench/benches/rsa_pub.rs::benches::rsa2048_pkcs1_sha256_verify::rsa2048-pkcs1-sha256-verify::graviola
CodSpeed Performance Gauge
0%
86.9 µs
86.9 µs
ring
graviola-bench/benches/rsa_pub.rs::benches::rsa2048_pkcs1_sha256_verify::rsa2048-pkcs1-sha256-verify::ring
CodSpeed Performance Gauge
0%
142.2 µs
142.2 µs
rustcrypto
graviola-bench/benches/rsa_pub.rs::benches::rsa2048_pkcs1_sha256_verify::rsa2048-pkcs1-sha256-verify::rustcrypto
CodSpeed Performance Gauge
0%
957.1 µs
957.1 µs
ring[32B]
graviola-bench/benches/sha2.rs::benches::sha256::sha256::ring[32B]
CodSpeed Performance Gauge
0%
4.7 µs
4.7 µs
ring[64KB]
graviola-bench/benches/sha2.rs::benches::sha256::sha256::ring[64KB]
CodSpeed Performance Gauge
0%
663.5 µs
663.5 µs
ring[8KB]
graviola-bench/benches/sha2.rs::benches::sha256::sha256::ring[8KB]
CodSpeed Performance Gauge
0%
87 µs
87 µs
aws-lc-rs[32B]
graviola-bench/benches/sha2.rs::benches::sha512::sha512::aws-lc-rs[32B]
CodSpeed Performance Gauge
0%
7.9 µs
7.9 µs
aws-lc-rs[8KB]
graviola-bench/benches/sha2.rs::benches::sha512::sha512::aws-lc-rs[8KB]
CodSpeed Performance Gauge
0%
67.6 µs
67.6 µs
graviola[32B]
graviola-bench/benches/sha2.rs::benches::sha512::sha512::graviola[32B]
CodSpeed Performance Gauge
0%
4.5 µs
4.5 µs
graviola[8KB]
graviola-bench/benches/sha2.rs::benches::sha512::sha512::graviola[8KB]
CodSpeed Performance Gauge
0%
87.9 µs
87.9 µs
graviola[16KB]
graviola-bench/benches/xchacha20poly1305.rs::benches::bench_chacha20poly1305::xchacha20poly1305::graviola[16KB]
CodSpeed Performance Gauge
0%
113.1 µs
113.1 µs
graviola[2KB]
graviola-bench/benches/xchacha20poly1305.rs::benches::bench_chacha20poly1305::xchacha20poly1305::graviola[2KB]
CodSpeed Performance Gauge
0%
18 µs
18 µs
graviola[32B]
graviola-bench/benches/xchacha20poly1305.rs::benches::bench_chacha20poly1305::xchacha20poly1305::graviola[32B]
CodSpeed Performance Gauge
0%
4.4 µs
4.4 µs
rustcrypto[16KB]
graviola-bench/benches/xchacha20poly1305.rs::benches::bench_chacha20poly1305::xchacha20poly1305::rustcrypto[16KB]
CodSpeed Performance Gauge
0%
85.9 µs
85.9 µs
rustcrypto[2KB]
graviola-bench/benches/xchacha20poly1305.rs::benches::bench_chacha20poly1305::xchacha20poly1305::rustcrypto[2KB]
CodSpeed Performance Gauge
0%
22.9 µs
22.9 µs
rustcrypto[32B]
graviola-bench/benches/xchacha20poly1305.rs::benches::bench_chacha20poly1305::xchacha20poly1305::rustcrypto[32B]
CodSpeed Performance Gauge
0%
14.1 µs
14.1 µs
graviola
graviola-bench/benches/rsa_priv.rs::benches::rsa2048_pkcs1_sha256_sign::rsa2048-pkcs1-sha256-sign::graviola
CodSpeed Performance Gauge
0%
2.5 ms
2.5 ms
rustcrypto
graviola-bench/benches/rsa_priv.rs::benches::rsa2048_pkcs1_sha256_sign::rsa2048-pkcs1-sha256-sign::rustcrypto
CodSpeed Performance Gauge
0%
8.1 ms
8.1 ms
graviola[64KB]
graviola-bench/benches/sha2.rs::benches::sha512::sha512::graviola[64KB]
CodSpeed Performance Gauge
0%
638.6 µs
638.6 µs
aws-lc-rs[64KB]
graviola-bench/benches/sha2.rs::benches::sha512::sha512::aws-lc-rs[64KB]
CodSpeed Performance Gauge
0%
484.8 µs
484.8 µs
rustcrypto
graviola-bench/benches/p384.rs::benches::ecdsa_verify::p384-ecdsa-verify::rustcrypto
CodSpeed Performance Gauge
0%
5.5 ms
5.5 ms
graviola
graviola-bench/benches/x25519.rs::benches::x25519::x25519-ecdh::graviola
CodSpeed Performance Gauge
0%
154.8 µs
154.8 µs
rustcrypto
graviola-bench/benches/p384.rs::benches::ecdsa_sign::p384-ecdsa-sign::rustcrypto
CodSpeed Performance Gauge
0%
3.1 ms
3.1 ms
p384-rustcrypto
graviola-bench/benches/p384.rs::benches::keygen::p384-keygen::p384-rustcrypto
CodSpeed Performance Gauge
0%
2.7 ms
2.7 ms
aws-lc-rs
graviola-bench/benches/p256.rs::benches::keygen::p256-keygen::aws-lc-rs
CodSpeed Performance Gauge
0%
128.9 µs
128.9 µs
graviola[64KB]
graviola-bench/benches/sha2.rs::benches::sha256::sha256::graviola[64KB]
CodSpeed Performance Gauge
0%
1.4 ms
1.4 ms
rustcrypto[64KB]
graviola-bench/benches/sha2.rs::benches::sha512::sha512::rustcrypto[64KB]
CodSpeed Performance Gauge
0%
748.2 µs
748.3 µs
aws-lc-rs[64KB]
graviola-bench/benches/sha2.rs::benches::sha256::sha256::aws-lc-rs[64KB]
CodSpeed Performance Gauge
0%
665.3 µs
665.4 µs
p256-rustcrypto
graviola-bench/benches/p256.rs::benches::keygen::p256-keygen::p256-rustcrypto
CodSpeed Performance Gauge
0%
568.7 µs
568.7 µs
rustcrypto[64KB]
graviola-bench/benches/sha2.rs::benches::sha256::sha256::rustcrypto[64KB]
CodSpeed Performance Gauge
0%
1.1 ms
1.1 ms
aws-lc-rs
graviola-bench/benches/p384.rs::benches::keygen::p384-keygen::aws-lc-rs
CodSpeed Performance Gauge
0%
269.8 µs
269.8 µs
ring[64KB]
graviola-bench/benches/sha2.rs::benches::sha512::sha512::ring[64KB]
CodSpeed Performance Gauge
0%
482.5 µs
482.5 µs
rustcrypto
graviola-bench/benches/p256.rs::benches::ecdsa_sign::p256-ecdsa-sign::rustcrypto
CodSpeed Performance Gauge
0%
699.8 µs
699.9 µs
graviola[8KB]
graviola-bench/benches/sha2.rs::benches::sha256::sha256::graviola[8KB]
CodSpeed Performance Gauge
0%
183.7 µs
183.8 µs
aws-lc-rs
graviola-bench/benches/p384.rs::benches::ecdsa_sign::p384-ecdsa-sign::aws-lc-rs
CodSpeed Performance Gauge
0%
464 µs
464.1 µs
rustcrypto[8KB]
graviola-bench/benches/sha2.rs::benches::sha512::sha512::rustcrypto[8KB]
CodSpeed Performance Gauge
0%
98.7 µs
98.8 µs
aws-lc-rs[8KB]
graviola-bench/benches/sha2.rs::benches::sha256::sha256::aws-lc-rs[8KB]
CodSpeed Performance Gauge
0%
88.9 µs
88.9 µs
rustcrypto[8KB]
graviola-bench/benches/sha2.rs::benches::sha256::sha256::rustcrypto[8KB]
CodSpeed Performance Gauge
0%
146.7 µs
146.7 µs
ring[8KB]
graviola-bench/benches/sha2.rs::benches::sha512::sha512::ring[8KB]
CodSpeed Performance Gauge
0%
65.2 µs
65.2 µs
aws-lc-rs
graviola-bench/benches/rsa_pub.rs::benches::rsa2048_pkcs1_sha256_verify::rsa2048-pkcs1-sha256-verify::aws-lc-rs
CodSpeed Performance Gauge
0%
127.5 µs
127.6 µs
graviola
graviola-bench/benches/p256.rs::benches::ecdsa_sign::p256-ecdsa-sign::graviola
CodSpeed Performance Gauge
0%
182.8 µs
182.9 µs
graviola
graviola-bench/benches/p256.rs::benches::ecdsa_verify::p256-ecdsa-verify::graviola
CodSpeed Performance Gauge
0%
284.5 µs
284.7 µs
ring[16KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::ring[16KB]
CodSpeed Performance Gauge
0%
50.4 µs
50.4 µs
ring[16KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::ring[16KB]
CodSpeed Performance Gauge
0%
48.8 µs
48.8 µs
aws-lc-rs[16KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::aws-lc-rs[16KB]
CodSpeed Performance Gauge
0%
51.4 µs
51.5 µs
aws-lc-rs[16KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::aws-lc-rs[16KB]
CodSpeed Performance Gauge
0%
49.8 µs
49.8 µs
ring[2KB]
graviola-bench/benches/hmac.rs::benches::sha256::hmac-sha256::ring[2KB]
CodSpeed Performance Gauge
0%
29.1 µs
29.1 µs
ring[2KB]
graviola-bench/benches/hmac.rs::benches::sha384::hmac-sha384::ring[2KB]
CodSpeed Performance Gauge
0%
25 µs
25.1 µs
aws-lc-rs[8KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::aws-lc-rs[8KB]
CodSpeed Performance Gauge
0%
23.2 µs
23.2 µs
ring[8KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::ring[8KB]
CodSpeed Performance Gauge
0%
22.5 µs
22.6 µs
aws-lc-rs[8KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::aws-lc-rs[8KB]
CodSpeed Performance Gauge
0%
22.3 µs
22.3 µs
ring[8KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::ring[8KB]
CodSpeed Performance Gauge
0%
21.2 µs
21.3 µs
aws-lc-rs[2KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::aws-lc-rs[2KB]
CodSpeed Performance Gauge
0%
11.5 µs
11.6 µs
aws-lc-rs[2KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::aws-lc-rs[2KB]
CodSpeed Performance Gauge
0%
11 µs
11.1 µs
ring[2KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::ring[2KB]
CodSpeed Performance Gauge
0%
10.7 µs
10.7 µs
ring[32B]
graviola-bench/benches/hmac.rs::benches::sha384::hmac-sha384::ring[32B]
CodSpeed Performance Gauge
0%
10.2 µs
10.2 µs
ring[2KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::ring[2KB]
CodSpeed Performance Gauge
0%
10 µs
10 µs
ring[32B]
graviola-bench/benches/hmac.rs::benches::sha256::hmac-sha256::ring[32B]
CodSpeed Performance Gauge
0%
8.5 µs
8.5 µs
aws-lc-rs[32B]
graviola-bench/benches/sha2.rs::benches::sha256::sha256::aws-lc-rs[32B]
CodSpeed Performance Gauge
0%
6.6 µs
6.6 µs
ring[32B]
graviola-bench/benches/sha2.rs::benches::sha512::sha512::ring[32B]
CodSpeed Performance Gauge
-1%
5.6 µs
5.6 µs
rustcrypto[32B]
graviola-bench/benches/sha2.rs::benches::sha512::sha512::rustcrypto[32B]
CodSpeed Performance Gauge
-1%
5 µs
5.1 µs
rustcrypto[32B]
graviola-bench/benches/sha2.rs::benches::sha256::sha256::rustcrypto[32B]
CodSpeed Performance Gauge
-1%
7.1 µs
7.2 µs
graviola[32B]
graviola-bench/benches/sha2.rs::benches::sha256::sha256::graviola[32B]
CodSpeed Performance Gauge
-1%
3.1 µs
3.2 µs

Commits

Click on a commit to change the comparison range
Base
main
94b6bcf
0%
driver.py: support macro definitions that reference labels Ex: `#define foo() bl edwards25519_decode_alt_mul_p25519` Before this change, the generated rust macro didn't wire up the local label reference properly: ```rust macro_rules! foo { () => { Q!( "bl " Label!("edwards25519_decode_alt_mul_p25519", 0, Before) )} } ``` After this change: ```rust macro_rules! foo { () => { Q!( "bl " Label!("edwards25519_decode_alt_mul_p25519", 4, After) )} } ``` To support this, we now track which macros reference labels. We then track which blocks call these macros. As long as all macro callsites are uniformly before or after the labels they reference, we can safely replace the local label id and search direction in the original macro definition. It was challenging to track macro callsites in the main `RustFormatter` and also difficult to "pre-locate" callsites while dealing with hoisting, so the actual macro fixing happens on the generated Rust code from the `RustFormatter` pass.
4fb676b
8 days ago
by phlip9
0%
fixup! ed25519: aarch64: `edwards25519_decode` codegen
4ec2dd5
1 day ago
by phlip9
© 2025 CodSpeed Technology
Home Terms PrivacyDocs