ctz
graviola
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Branches
Benchmarks
Runs
GitHub Actions run
CPU Simulation
Uses the
CPU Simulation instrument
to collect CPU performance metrics.
17 days ago
8357ce9
3a6db5:3a6dbc-hkdf
pull_request
Compare
Base
Search a run
Head
Implement HKDF
#110
3a6db5:3a6dbc-hkdf
17 days ago
CPU Simulation
Compare
Suggested base runs:
Pull Request Base
•
Parent Commit
Benchmarks
aws-lc-rs[32B]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305
4.2 µs
aws-lc-rs
graviola-bench/benches/p384.rs::benches::ecdh::p384-ecdh
924.1 µs
aws-lc-rs[8KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm
22.2 µs
aws-lc-rs[2KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm
10.9 µs
aws-lc-rs[16KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm
49.7 µs
graviola[2KB]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305
17.5 µs
graviola
graviola-bench/benches/p256.rs::benches::keygen::p256-keygen
120.4 µs
aws-lc-rs[32B]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm
4.8 µs
graviola[16KB]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305
112.4 µs
graviola[32B]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305
3.8 µs
p256-rustcrypto
graviola-bench/benches/p256.rs::benches::keygen::p256-keygen
511.2 µs
ring
graviola-bench/benches/p384.rs::benches::ecdh::p384-ecdh
3.7 ms
ring[16KB]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305
63.5 µs
ring
graviola-bench/benches/p256.rs::benches::keygen::p256-keygen
125.2 µs
graviola
graviola-bench/benches/p384.rs::benches::ecdh::p384-ecdh
1.4 ms
p384-rustcrypto
graviola-bench/benches/p384.rs::benches::ecdh::p384-ecdh
5.3 ms
graviola[2KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm
8.4 µs
ring[2KB]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305
12.3 µs
graviola[16KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm
45 µs
graviola
graviola-bench/benches/p384.rs::benches::ecdsa_verify::p384-ecdsa-verify
1.2 ms
graviola
graviola-bench/benches/p384.rs::benches::ecdsa_sign::p384-ecdsa-sign
714.6 µs
graviola[32B]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm
3 µs
ring[32B]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305
3.2 µs
rustcrypto
graviola-bench/benches/p384.rs::benches::ecdsa_sign::p384-ecdsa-sign
3 ms
graviola[8KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm
18.5 µs
aws-lc-rs
graviola-bench/benches/p384.rs::benches::ecdsa_sign::p384-ecdsa-sign
445.8 µs
aws-lc-rs
graviola-bench/benches/p384.rs::benches::ecdsa_verify::p384-ecdsa-verify
879.1 µs
rustcrypto[16KB]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305
81.5 µs
ring
graviola-bench/benches/p384.rs::benches::ecdsa_sign::p384-ecdsa-sign
2 ms
ring[16KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm
48.5 µs
rustcrypto[32B]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305
11 µs
graviola
graviola-bench/benches/p384.rs::benches::keygen::p384-keygen
658.9 µs
p384-rustcrypto
graviola-bench/benches/p384.rs::benches::keygen::p384-keygen
2.7 ms
aws-lc-rs
graviola-bench/benches/p384.rs::benches::keygen::p384-keygen
269.3 µs
ring[2KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm
9.9 µs
rustcrypto[2KB]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305
19.7 µs
rustcrypto
graviola-bench/benches/p384.rs::benches::ecdsa_verify::p384-ecdsa-verify
5.3 ms
ring
graviola-bench/benches/p384.rs::benches::ecdsa_verify::p384-ecdsa-verify
3.6 ms
ring
graviola-bench/benches/rsa_priv.rs::benches::rsa2048_pkcs1_sha256_sign::rsa2048-pkcs1-sha256-sign
3.5 ms
ring[32B]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm
3.6 µs
aws-lc-rs[255 * HashLen]
graviola-bench/benches/hkdf.rs::benches::sha256::hkdf-sha256
434.9 µs
aws-lc-rs
graviola-bench/benches/rsa_priv.rs::benches::rsa2048_pkcs1_sha256_sign::rsa2048-pkcs1-sha256-sign
2.4 ms
graviola[1 * HashLen]
graviola-bench/benches/hkdf.rs::benches::sha256::hkdf-sha256
15.7 µs
graviola
graviola-bench/benches/rsa_priv.rs::benches::rsa2048_pkcs1_sha256_sign::rsa2048-pkcs1-sha256-sign
2.5 ms
graviola
graviola-bench/benches/rsa_pub.rs::benches::rsa2048_pkcs1_sha256_verify::rsa2048-pkcs1-sha256-verify
87 µs
ring
graviola-bench/benches/p384.rs::benches::keygen::p384-keygen
1.9 ms
ring[8KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm
21.1 µs
graviola[255 * HashLen]
graviola-bench/benches/hkdf.rs::benches::sha256::hkdf-sha256
809.4 µs
rustcrypto
graviola-bench/benches/rsa_priv.rs::benches::rsa2048_pkcs1_sha256_sign::rsa2048-pkcs1-sha256-sign
8.1 ms
rustcrypto[16KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm
66.2 µs
rustcrypto[32B]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm
3.1 µs
rustcrypto[2KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm
11 µs
ring[1 * HashLen]
graviola-bench/benches/hkdf.rs::benches::sha256::hkdf-sha256
12.1 µs
ring
graviola-bench/benches/rsa_pub.rs::benches::rsa2048_pkcs1_sha256_verify::rsa2048-pkcs1-sha256-verify
141.4 µs
rustcrypto[8KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm
29.1 µs
aws-lc-rs[1 * HashLen]
graviola-bench/benches/hkdf.rs::benches::sha256::hkdf-sha256
15.8 µs
aws-lc-rs[32B]
graviola-bench/benches/sha2.rs::benches::sha256::sha256
6.3 µs
graviola[32B]
graviola-bench/benches/sha2.rs::benches::sha256::sha256
3.2 µs
rustcrypto[1 * HashLen]
graviola-bench/benches/hkdf.rs::benches::sha256::hkdf-sha256
17 µs
aws-lc-rs
graviola-bench/benches/rsa_pub.rs::benches::rsa2048_pkcs1_sha256_verify::rsa2048-pkcs1-sha256-verify
127.1 µs
rustcrypto
graviola-bench/benches/rsa_pub.rs::benches::rsa2048_pkcs1_sha256_verify::rsa2048-pkcs1-sha256-verify
955.3 µs
ring[255 * HashLen]
graviola-bench/benches/hkdf.rs::benches::sha256::hkdf-sha256
423.2 µs
ring[8KB]
graviola-bench/benches/sha2.rs::benches::sha256::sha256
86.8 µs
ring[32B]
graviola-bench/benches/sha2.rs::benches::sha256::sha256
4.5 µs
graviola[64KB]
graviola-bench/benches/sha2.rs::benches::sha256::sha256
1.4 ms
ring[64KB]
graviola-bench/benches/sha2.rs::benches::sha256::sha256
663.3 µs
rustcrypto[8KB]
graviola-bench/benches/sha2.rs::benches::sha256::sha256
146.7 µs
aws-lc-rs[64KB]
graviola-bench/benches/sha2.rs::benches::sha256::sha256
665.1 µs
graviola[8KB]
graviola-bench/benches/sha2.rs::benches::sha256::sha256
183.8 µs
rustcrypto[64KB]
graviola-bench/benches/sha2.rs::benches::sha256::sha256
1.1 ms
aws-lc-rs[2KB]
graviola-bench/benches/hmac.rs::benches::sha256::hmac-sha256
32 µs
aws-lc-rs[32B]
graviola-bench/benches/sha2.rs::benches::sha512::sha512
7.4 µs
aws-lc-rs[64KB]
graviola-bench/benches/sha2.rs::benches::sha512::sha512
484.5 µs
aws-lc-rs[32B]
graviola-bench/benches/hmac.rs::benches::sha256::hmac-sha256
11.4 µs
graviola[32B]
graviola-bench/benches/sha2.rs::benches::sha512::sha512
4.5 µs
rustcrypto[32B]
graviola-bench/benches/sha2.rs::benches::sha256::sha256
7.1 µs
graviola[8KB]
graviola-bench/benches/sha2.rs::benches::sha512::sha512
88 µs
graviola[2KB]
graviola-bench/benches/hmac.rs::benches::sha256::hmac-sha256
53.9 µs
rustcrypto[255 * HashLen]
graviola-bench/benches/hkdf.rs::benches::sha256::hkdf-sha256
607.9 µs
graviola[32B]
graviola-bench/benches/hmac.rs::benches::sha256::hmac-sha256
8.7 µs
ring[2KB]
graviola-bench/benches/hmac.rs::benches::sha256::hmac-sha256
28.5 µs
ring[32B]
graviola-bench/benches/hmac.rs::benches::sha256::hmac-sha256
7.9 µs
graviola[2KB]
graviola-bench/benches/hmac.rs::benches::sha384::hmac-sha384
33.1 µs
aws-lc-rs[8KB]
graviola-bench/benches/sha2.rs::benches::sha512::sha512
67.2 µs
rustcrypto[2KB]
graviola-bench/benches/hmac.rs::benches::sha256::hmac-sha256
46.4 µs
aws-lc-rs[32B]
graviola-bench/benches/hmac.rs::benches::sha384::hmac-sha384
13.3 µs
ring[2KB]
graviola-bench/benches/hmac.rs::benches::sha384::hmac-sha384
24.5 µs
rustcrypto[2KB]
graviola-bench/benches/hmac.rs::benches::sha384::hmac-sha384
33.6 µs
aws-lc-rs[8KB]
graviola-bench/benches/sha2.rs::benches::sha256::sha256
88.6 µs
libcrux-ml-kem
graviola-bench/benches/mlkem768.rs::benches::mlkem768_decaps::mlkem768-decaps
123.1 µs
rustcrypto[64KB]
graviola-bench/benches/sha2.rs::benches::sha512::sha512
746.1 µs
ring[32B]
graviola-bench/benches/sha2.rs::benches::sha512::sha512
5.4 µs
graviola[64KB]
graviola-bench/benches/sha2.rs::benches::sha512::sha512
638.6 µs
aws-lc-rs[2KB]
graviola-bench/benches/hmac.rs::benches::sha384::hmac-sha384
28.2 µs
aws-lc-rs
graviola-bench/benches/mlkem768.rs::benches::mlkem768_keygen::mlkem768-keygen
182.3 µs
aws-lc-rs[2KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm
11.3 µs
graviola[32B]
graviola-bench/benches/hmac.rs::benches::sha384::hmac-sha384
8.8 µs
rustcrypto[32B]
graviola-bench/benches/hmac.rs::benches::sha256::hmac-sha256
11.3 µs
aws-lc-rs[16KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm
51.3 µs
ring[32B]
graviola-bench/benches/hmac.rs::benches::sha384::hmac-sha384
9.5 µs
graviola[16KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm
46.9 µs
rustcrypto
graviola-bench/benches/mlkem768.rs::benches::mlkem768_decaps::mlkem768-decaps
348.6 µs
libcrux-ml-kem
graviola-bench/benches/mlkem768.rs::benches::mlkem768_encaps::mlkem768-encaps
113 µs
graviola
graviola-bench/benches/p256.rs::benches::ecdh::p256-ecdh
425.3 µs
aws-lc-rs
graviola-bench/benches/mlkem768.rs::benches::mlkem768_encaps::mlkem768-encaps
204.5 µs
rustcrypto
graviola-bench/benches/mlkem768.rs::benches::mlkem768_keygen::mlkem768-keygen
275.9 µs
ring[64KB]
graviola-bench/benches/sha2.rs::benches::sha512::sha512
482.3 µs
libcrux-ml-kem
graviola-bench/benches/mlkem768.rs::benches::mlkem768_keygen::mlkem768-keygen
110 µs
aws-lc-rs
graviola-bench/benches/mlkem768.rs::benches::mlkem768_decaps::mlkem768-decaps
239.6 µs
aws-lc-rs[8KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm
23 µs
rustcrypto[32B]
graviola-bench/benches/sha2.rs::benches::sha512::sha512
3.9 µs
ring[8KB]
graviola-bench/benches/sha2.rs::benches::sha512::sha512
65 µs
ring
graviola-bench/benches/p256.rs::benches::ecdsa_sign::p256-ecdsa-sign
151.4 µs
ring
graviola-bench/benches/p256.rs::benches::ecdh::p256-ecdh
343 µs
aws-lc-rs
graviola-bench/benches/p256.rs::benches::ecdh::p256-ecdh
345.6 µs
dalek
graviola-bench/benches/x25519.rs::benches::x25519::x25519-ecdh
361 µs
rustcrypto[32B]
graviola-bench/benches/hmac.rs::benches::sha384::hmac-sha384
9.5 µs
p256-rustcrypto
graviola-bench/benches/p256.rs::benches::ecdh::p256-ecdh
1 ms
aws-lc-rs
graviola-bench/benches/x25519.rs::benches::x25519::x25519-ecdh
202 µs
rustcrypto[8KB]
graviola-bench/benches/sha2.rs::benches::sha512::sha512
97.5 µs
aws-lc-rs
graviola-bench/benches/p256.rs::benches::ecdsa_sign::p256-ecdsa-sign
170.3 µs
aws-lc-rs[32B]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm
4.8 µs
aws-lc-rs
graviola-bench/benches/p256.rs::benches::ecdsa_verify::p256-ecdsa-verify
268.9 µs
graviola[2KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm
9.1 µs
ring
graviola-bench/benches/x25519.rs::benches::x25519::x25519-ecdh
273.8 µs
graviola[32B]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm
3 µs
graviola
graviola-bench/benches/x25519.rs::benches::x25519::x25519-ecdh
154.2 µs
graviola
graviola-bench/benches/p256.rs::benches::ecdsa_verify::p256-ecdsa-verify
284.5 µs
aws-lc-rs
graviola-bench/benches/p256.rs::benches::keygen::p256-keygen
127.9 µs
rustcrypto
graviola-bench/benches/mlkem768.rs::benches::mlkem768_encaps::mlkem768-encaps
274 µs
ring[2KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm
10.5 µs
ring[32B]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm
3.7 µs
graviola[16KB]
graviola-bench/benches/xchacha20poly1305.rs::benches::bench_chacha20poly1305::xchacha20poly1305
112.8 µs
ring[8KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm
22.3 µs
rustcrypto[16KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm
68.4 µs
rustcrypto[32B]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm
3.2 µs
graviola
graviola-bench/benches/p256.rs::benches::ecdsa_sign::p256-ecdsa-sign
182.4 µs
rustcrypto[16KB]
graviola-bench/benches/xchacha20poly1305.rs::benches::bench_chacha20poly1305::xchacha20poly1305
81.8 µs
ring[16KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm
50.2 µs
rustcrypto[32B]
graviola-bench/benches/xchacha20poly1305.rs::benches::bench_chacha20poly1305::xchacha20poly1305
11.3 µs
ring
graviola-bench/benches/p256.rs::benches::ecdsa_verify::p256-ecdsa-verify
260 µs
rustcrypto[2KB]
graviola-bench/benches/xchacha20poly1305.rs::benches::bench_chacha20poly1305::xchacha20poly1305
20 µs
rustcrypto[8KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm
30.3 µs
graviola[8KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm
19.5 µs
rustcrypto
graviola-bench/benches/p256.rs::benches::ecdsa_verify::p256-ecdsa-verify
1 ms
rustcrypto
graviola-bench/benches/p256.rs::benches::ecdsa_sign::p256-ecdsa-sign
642.2 µs
graviola[32B]
graviola-bench/benches/xchacha20poly1305.rs::benches::bench_chacha20poly1305::xchacha20poly1305
4.2 µs
rustcrypto[2KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm
11.8 µs
graviola[2KB]
graviola-bench/benches/xchacha20poly1305.rs::benches::bench_chacha20poly1305::xchacha20poly1305
17.8 µs
aws-lc-rs[2KB]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305
13.2 µs
aws-lc-rs[16KB]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305
64.4 µs
aws-lc-rs[255 * HashLen]
graviola-bench/benches/hkdf.rs::benches::sha384::hkdf-sha384
565.1 µs
ring[1 * HashLen]
graviola-bench/benches/hkdf.rs::benches::sha384::hkdf-sha384
14.7 µs
aws-lc-rs[1 * HashLen]
graviola-bench/benches/hkdf.rs::benches::sha384::hkdf-sha384
19.3 µs
graviola[1 * HashLen]
graviola-bench/benches/hkdf.rs::benches::sha384::hkdf-sha384
14.2 µs
rustcrypto[1 * HashLen]
graviola-bench/benches/hkdf.rs::benches::sha384::hkdf-sha384
16.5 µs
graviola[255 * HashLen]
graviola-bench/benches/hkdf.rs::benches::sha384::hkdf-sha384
577.7 µs
rustcrypto[255 * HashLen]
graviola-bench/benches/hkdf.rs::benches::sha384::hkdf-sha384
749 µs
ring[255 * HashLen]
graviola-bench/benches/hkdf.rs::benches::sha384::hkdf-sha384
560.2 µs
© 2025 CodSpeed Technology
Home
Terms
Privacy
Docs