Avatar for the ctz user
ctz
graviola
BlogDocsChangelog

GitHub Actions run

Instrumentation
7 days ago 1c46112 jbp-safer-intrinsics-2 pull_request

Compare

Base
Search a run

Head
Tidying around intrinsics, safety comments, and pointer casts
#108
jbp-safer-intrinsics-2
7 days ago

Compare
Suggested base runs: •

Benchmarks

aws-lc-rs[2KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::aws-lc-rs[2KB]
10.8 µs
rustcrypto[8KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::rustcrypto[8KB]
30.3 µs
rustcrypto[32B]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::rustcrypto[32B]
3.2 µs
aws-lc-rs[32B]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::aws-lc-rs[32B]
4.8 µs
aws-lc-rs[16KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::aws-lc-rs[16KB]
49.5 µs
aws-lc-rs[8KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::aws-lc-rs[8KB]
22 µs
aws-lc-rs[2KB]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305::aws-lc-rs[2KB]
13 µs
graviola[16KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::graviola[16KB]
44.9 µs
aws-lc-rs[16KB]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305::aws-lc-rs[16KB]
64.2 µs
aws-lc-rs[32B]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305::aws-lc-rs[32B]
4 µs
graviola[2KB]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305::graviola[2KB]
17.5 µs
graviola[32B]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305::graviola[32B]
3.9 µs
graviola[16KB]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305::graviola[16KB]
112.5 µs
graviola[2KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::graviola[2KB]
8.3 µs
graviola[32B]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::graviola[32B]
3 µs
ring[2KB]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305::ring[2KB]
12.4 µs
ring[16KB]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305::ring[16KB]
63.6 µs
aws-lc-rs[2KB]
graviola-bench/benches/hmac.rs::benches::sha256::hmac-sha256::aws-lc-rs[2KB]
32.1 µs
ring[32B]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::ring[32B]
3.6 µs
ring[16KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::ring[16KB]
48.5 µs
graviola[8KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::graviola[8KB]
18.4 µs
ring[2KB]
graviola-bench/benches/hmac.rs::benches::sha256::hmac-sha256::ring[2KB]
28.6 µs
rustcrypto[16KB]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305::rustcrypto[16KB]
81.2 µs
rustcrypto[2KB]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305::rustcrypto[2KB]
19.4 µs
graviola[32B]
graviola-bench/benches/hmac.rs::benches::sha256::hmac-sha256::graviola[32B]
8.8 µs
rustcrypto[16KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::rustcrypto[16KB]
66.1 µs
ring[2KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::ring[2KB]
9.9 µs
rustcrypto[2KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::rustcrypto[2KB]
10.9 µs
rustcrypto[32B]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305::rustcrypto[32B]
10.8 µs
ring[32B]
graviola-bench/benches/hmac.rs::benches::sha256::hmac-sha256::ring[32B]
8 µs
ring[8KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::ring[8KB]
21.1 µs
ring[32B]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305::ring[32B]
3.3 µs
rustcrypto[2KB]
graviola-bench/benches/hmac.rs::benches::sha384::hmac-sha384::rustcrypto[2KB]
33.5 µs
rustcrypto[32B]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::rustcrypto[32B]
3.1 µs
aws-lc-rs[32B]
graviola-bench/benches/hmac.rs::benches::sha256::hmac-sha256::aws-lc-rs[32B]
11.5 µs
rustcrypto[32B]
graviola-bench/benches/hmac.rs::benches::sha384::hmac-sha384::rustcrypto[32B]
9.4 µs
aws-lc-rs[32B]
graviola-bench/benches/hmac.rs::benches::sha384::hmac-sha384::aws-lc-rs[32B]
13.5 µs
rustcrypto[32B]
graviola-bench/benches/hmac.rs::benches::sha256::hmac-sha256::rustcrypto[32B]
11.4 µs
ring[32B]
graviola-bench/benches/hmac.rs::benches::sha384::hmac-sha384::ring[32B]
9.7 µs
graviola[32B]
graviola-bench/benches/hmac.rs::benches::sha384::hmac-sha384::graviola[32B]
8.9 µs
graviola[2KB]
graviola-bench/benches/hmac.rs::benches::sha256::hmac-sha256::graviola[2KB]
54 µs
rustcrypto[2KB]
graviola-bench/benches/hmac.rs::benches::sha256::hmac-sha256::rustcrypto[2KB]
46.5 µs
aws-lc-rs[2KB]
graviola-bench/benches/hmac.rs::benches::sha384::hmac-sha384::aws-lc-rs[2KB]
28.5 µs
aws-lc-rs[2KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::aws-lc-rs[2KB]
11.2 µs
graviola
graviola-bench/benches/rsa_pub.rs::benches::rsa2048_pkcs1_sha256_verify::rsa2048-pkcs1-sha256-verify::graviola
87 µs
aws-lc-rs
graviola-bench/benches/mlkem768.rs::benches::mlkem768_decaps::mlkem768-decaps::aws-lc-rs
239.4 µs
rustcrypto
graviola-bench/benches/rsa_priv.rs::benches::rsa2048_pkcs1_sha256_sign::rsa2048-pkcs1-sha256-sign::rustcrypto
8.1 ms
ring
graviola-bench/benches/rsa_priv.rs::benches::rsa2048_pkcs1_sha256_sign::rsa2048-pkcs1-sha256-sign::ring
3.5 ms
aws-lc-rs[16KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::aws-lc-rs[16KB]
51.2 µs
graviola[2KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::graviola[2KB]
9 µs
aws-lc-rs[8KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::aws-lc-rs[8KB]
22.9 µs
libcrux-ml-kem
graviola-bench/benches/mlkem768.rs::benches::mlkem768_decaps::mlkem768-decaps::libcrux-ml-kem
122.8 µs
graviola[16KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::graviola[16KB]
46.8 µs
aws-lc-rs[32B]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::aws-lc-rs[32B]
4.8 µs
rustcrypto[8KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::rustcrypto[8KB]
29 µs
ring[2KB]
graviola-bench/benches/hmac.rs::benches::sha384::hmac-sha384::ring[2KB]
24.6 µs
aws-lc-rs
graviola-bench/benches/mlkem768.rs::benches::mlkem768_encaps::mlkem768-encaps::aws-lc-rs
204.6 µs
graviola[32B]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::graviola[32B]
3 µs
rustcrypto
graviola-bench/benches/mlkem768.rs::benches::mlkem768_decaps::mlkem768-decaps::rustcrypto
349.9 µs
aws-lc-rs
graviola-bench/benches/rsa_pub.rs::benches::rsa2048_pkcs1_sha256_verify::rsa2048-pkcs1-sha256-verify::aws-lc-rs
127.4 µs
rustcrypto
graviola-bench/benches/rsa_pub.rs::benches::rsa2048_pkcs1_sha256_verify::rsa2048-pkcs1-sha256-verify::rustcrypto
955 µs
ring
graviola-bench/benches/rsa_pub.rs::benches::rsa2048_pkcs1_sha256_verify::rsa2048-pkcs1-sha256-verify::ring
143.1 µs
ring[16KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::ring[16KB]
50.1 µs
aws-lc-rs[8KB]
graviola-bench/benches/sha2.rs::benches::sha256::sha256::aws-lc-rs[8KB]
89 µs
aws-lc-rs[64KB]
graviola-bench/benches/sha2.rs::benches::sha256::sha256::aws-lc-rs[64KB]
665.5 µs
ring[32B]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::ring[32B]
3.7 µs
ring[2KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::ring[2KB]
10.5 µs
graviola[8KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::graviola[8KB]
19.4 µs
graviola[2KB]
graviola-bench/benches/hmac.rs::benches::sha384::hmac-sha384::graviola[2KB]
33.1 µs
graviola[64KB]
graviola-bench/benches/sha2.rs::benches::sha256::sha256::graviola[64KB]
1.4 ms
aws-lc-rs[32B]
graviola-bench/benches/sha2.rs::benches::sha256::sha256::aws-lc-rs[32B]
6.7 µs
rustcrypto[16KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::rustcrypto[16KB]
68.4 µs
graviola[32B]
graviola-bench/benches/sha2.rs::benches::sha256::sha256::graviola[32B]
3.2 µs
rustcrypto[64KB]
graviola-bench/benches/sha2.rs::benches::sha256::sha256::rustcrypto[64KB]
1.1 ms
aws-lc-rs[64KB]
graviola-bench/benches/sha2.rs::benches::sha512::sha512::aws-lc-rs[64KB]
484.5 µs
graviola[8KB]
graviola-bench/benches/sha2.rs::benches::sha256::sha256::graviola[8KB]
183.8 µs
rustcrypto[8KB]
graviola-bench/benches/sha2.rs::benches::sha256::sha256::rustcrypto[8KB]
146.8 µs
aws-lc-rs[8KB]
graviola-bench/benches/sha2.rs::benches::sha512::sha512::aws-lc-rs[8KB]
67.2 µs
graviola[64KB]
graviola-bench/benches/sha2.rs::benches::sha512::sha512::graviola[64KB]
638.7 µs
ring[8KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::ring[8KB]
22.3 µs
rustcrypto[32B]
graviola-bench/benches/sha2.rs::benches::sha256::sha256::rustcrypto[32B]
7.2 µs
ring[32B]
graviola-bench/benches/sha2.rs::benches::sha256::sha256::ring[32B]
4.7 µs
ring[64KB]
graviola-bench/benches/sha2.rs::benches::sha256::sha256::ring[64KB]
663.5 µs
ring[8KB]
graviola-bench/benches/sha2.rs::benches::sha512::sha512::ring[8KB]
65.2 µs
aws-lc-rs[32B]
graviola-bench/benches/sha2.rs::benches::sha512::sha512::aws-lc-rs[32B]
7.5 µs
ring[8KB]
graviola-bench/benches/sha2.rs::benches::sha256::sha256::ring[8KB]
87 µs
rustcrypto[2KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::rustcrypto[2KB]
11.8 µs
graviola
graviola-bench/benches/x25519.rs::benches::x25519::x25519-ecdh::graviola
154.6 µs
graviola[32B]
graviola-bench/benches/sha2.rs::benches::sha512::sha512::graviola[32B]
4.5 µs
ring[32B]
graviola-bench/benches/sha2.rs::benches::sha512::sha512::ring[32B]
5.6 µs
rustcrypto
graviola-bench/benches/mlkem768.rs::benches::mlkem768_encaps::mlkem768-encaps::rustcrypto
277.5 µs
ring[64KB]
graviola-bench/benches/sha2.rs::benches::sha512::sha512::ring[64KB]
482.5 µs
rustcrypto[8KB]
graviola-bench/benches/sha2.rs::benches::sha512::sha512::rustcrypto[8KB]
97.5 µs
aws-lc-rs
graviola-bench/benches/x25519.rs::benches::x25519::x25519-ecdh::aws-lc-rs
203 µs
ring
graviola-bench/benches/x25519.rs::benches::x25519::x25519-ecdh::ring
274.1 µs
rustcrypto[32B]
graviola-bench/benches/sha2.rs::benches::sha512::sha512::rustcrypto[32B]
3.9 µs
graviola[8KB]
graviola-bench/benches/sha2.rs::benches::sha512::sha512::graviola[8KB]
88 µs
graviola
graviola-bench/benches/p256.rs::benches::ecdh::p256-ecdh::graviola
425.8 µs
libcrux-ml-kem
graviola-bench/benches/mlkem768.rs::benches::mlkem768_encaps::mlkem768-encaps::libcrux-ml-kem
136 µs
graviola[2KB]
graviola-bench/benches/xchacha20poly1305.rs::benches::bench_chacha20poly1305::xchacha20poly1305::graviola[2KB]
17.8 µs
libcrux-ml-kem
graviola-bench/benches/mlkem768.rs::benches::mlkem768_keygen::mlkem768-keygen::libcrux-ml-kem
126.2 µs
aws-lc-rs
graviola-bench/benches/p256.rs::benches::ecdh::p256-ecdh::aws-lc-rs
347 µs
aws-lc-rs
graviola-bench/benches/mlkem768.rs::benches::mlkem768_keygen::mlkem768-keygen::aws-lc-rs
182.3 µs
graviola[16KB]
graviola-bench/benches/xchacha20poly1305.rs::benches::bench_chacha20poly1305::xchacha20poly1305::graviola[16KB]
112.8 µs
dalek
graviola-bench/benches/x25519.rs::benches::x25519::x25519-ecdh::dalek
360.9 µs
rustcrypto
graviola-bench/benches/mlkem768.rs::benches::mlkem768_keygen::mlkem768-keygen::rustcrypto
277 µs
graviola[32B]
graviola-bench/benches/xchacha20poly1305.rs::benches::bench_chacha20poly1305::xchacha20poly1305::graviola[32B]
4.1 µs
ring
graviola-bench/benches/p384.rs::benches::ecdsa_verify::p384-ecdsa-verify::ring
3.6 ms
rustcrypto[64KB]
graviola-bench/benches/sha2.rs::benches::sha512::sha512::rustcrypto[64KB]
746.1 µs
rustcrypto
graviola-bench/benches/p384.rs::benches::ecdsa_verify::p384-ecdsa-verify::rustcrypto
5.3 ms
rustcrypto[16KB]
graviola-bench/benches/xchacha20poly1305.rs::benches::bench_chacha20poly1305::xchacha20poly1305::rustcrypto[16KB]
82.2 µs
rustcrypto
graviola-bench/benches/p384.rs::benches::ecdsa_sign::p384-ecdsa-sign::rustcrypto
3 ms
ring
graviola-bench/benches/p384.rs::benches::keygen::p384-keygen::ring
1.9 ms
ring
graviola-bench/benches/p384.rs::benches::ecdsa_sign::p384-ecdsa-sign::ring
2 ms
aws-lc-rs
graviola-bench/benches/p256.rs::benches::ecdsa_sign::p256-ecdsa-sign::aws-lc-rs
188.6 µs
graviola
graviola-bench/benches/p256.rs::benches::ecdsa_verify::p256-ecdsa-verify::graviola
284.3 µs
aws-lc-rs
graviola-bench/benches/p384.rs::benches::ecdsa_verify::p384-ecdsa-verify::aws-lc-rs
880 µs
p384-rustcrypto
graviola-bench/benches/p384.rs::benches::keygen::p384-keygen::p384-rustcrypto
2.7 ms
aws-lc-rs
graviola-bench/benches/p384.rs::benches::keygen::p384-keygen::aws-lc-rs
270.3 µs
graviola
graviola-bench/benches/p256.rs::benches::ecdsa_sign::p256-ecdsa-sign::graviola
182.3 µs
ring
graviola-bench/benches/p256.rs::benches::ecdsa_sign::p256-ecdsa-sign::ring
152.9 µs
rustcrypto[32B]
graviola-bench/benches/xchacha20poly1305.rs::benches::bench_chacha20poly1305::xchacha20poly1305::rustcrypto[32B]
11.7 µs
graviola
graviola-bench/benches/rsa_priv.rs::benches::rsa2048_pkcs1_sha256_sign::rsa2048-pkcs1-sha256-sign::graviola
2.5 ms
rustcrypto
graviola-bench/benches/p256.rs::benches::ecdsa_verify::p256-ecdsa-verify::rustcrypto
1 ms
rustcrypto[2KB]
graviola-bench/benches/xchacha20poly1305.rs::benches::bench_chacha20poly1305::xchacha20poly1305::rustcrypto[2KB]
20.3 µs
ring
graviola-bench/benches/p256.rs::benches::ecdh::p256-ecdh::ring
344 µs
aws-lc-rs
graviola-bench/benches/p256.rs::benches::keygen::p256-keygen::aws-lc-rs
129 µs
p256-rustcrypto
graviola-bench/benches/p256.rs::benches::ecdh::p256-ecdh::p256-rustcrypto
1 ms
aws-lc-rs
graviola-bench/benches/rsa_priv.rs::benches::rsa2048_pkcs1_sha256_sign::rsa2048-pkcs1-sha256-sign::aws-lc-rs
2.4 ms
graviola
graviola-bench/benches/p384.rs::benches::ecdh::p384-ecdh::graviola
1.4 ms
aws-lc-rs
graviola-bench/benches/p256.rs::benches::ecdsa_verify::p256-ecdsa-verify::aws-lc-rs
269.6 µs
rustcrypto
graviola-bench/benches/p256.rs::benches::ecdsa_sign::p256-ecdsa-sign::rustcrypto
641.8 µs
graviola
graviola-bench/benches/p256.rs::benches::keygen::p256-keygen::graviola
120.6 µs
graviola
graviola-bench/benches/p384.rs::benches::ecdsa_verify::p384-ecdsa-verify::graviola
1.2 ms
ring
graviola-bench/benches/p256.rs::benches::ecdsa_verify::p256-ecdsa-verify::ring
260.2 µs
graviola
graviola-bench/benches/p384.rs::benches::keygen::p384-keygen::graviola
659.1 µs
aws-lc-rs
graviola-bench/benches/p384.rs::benches::ecdh::p384-ecdh::aws-lc-rs
925.5 µs
ring
graviola-bench/benches/p384.rs::benches::ecdh::p384-ecdh::ring
3.7 ms
ring
graviola-bench/benches/p256.rs::benches::keygen::p256-keygen::ring
126.4 µs
graviola
graviola-bench/benches/p384.rs::benches::ecdsa_sign::p384-ecdsa-sign::graviola
714.3 µs
p384-rustcrypto
graviola-bench/benches/p384.rs::benches::ecdh::p384-ecdh::p384-rustcrypto
5.3 ms
aws-lc-rs
graviola-bench/benches/p384.rs::benches::ecdsa_sign::p384-ecdsa-sign::aws-lc-rs
464.9 µs
p256-rustcrypto
graviola-bench/benches/p256.rs::benches::keygen::p256-keygen::p256-rustcrypto
511 µs
© 2025 CodSpeed Technology
Home Terms Privacy Docs