BlogDocs

Implement XChaCha20Poly1305(#24)

Comparing
conradludgate:xchacha
(
bd32735
) with
main
(
c1614e2
)
0%
IMPROVEMENTS
0
REGRESSIONS
0
UNTOUCHED
120
NEW
6
DROPPED
0
IGNORED
0

Benchmarks

New

graviola[16KB]
graviola-bench/benches/xchacha20poly1305.rs::benches::bench_chacha20poly1305::xchacha20poly1305::graviola[16KB]
N/A
N/A
113.1 µs
graviola[2KB]
graviola-bench/benches/xchacha20poly1305.rs::benches::bench_chacha20poly1305::xchacha20poly1305::graviola[2KB]
N/A
N/A
18.1 µs
graviola[32B]
graviola-bench/benches/xchacha20poly1305.rs::benches::bench_chacha20poly1305::xchacha20poly1305::graviola[32B]
N/A
N/A
4.6 µs
rustcrypto[16KB]
graviola-bench/benches/xchacha20poly1305.rs::benches::bench_chacha20poly1305::xchacha20poly1305::rustcrypto[16KB]
N/A
N/A
86.1 µs
rustcrypto[2KB]
graviola-bench/benches/xchacha20poly1305.rs::benches::bench_chacha20poly1305::xchacha20poly1305::rustcrypto[2KB]
N/A
N/A
23.2 µs
rustcrypto[32B]
graviola-bench/benches/xchacha20poly1305.rs::benches::bench_chacha20poly1305::xchacha20poly1305::rustcrypto[32B]
N/A
N/A
14.5 µs

Passed

graviola[32B]
graviola-bench/benches/sha2.rs::benches::sha256::sha256::graviola[32B]
+5%
3.2 µs
3 µs
graviola[32B]
graviola-bench/benches/sha2.rs::benches::sha512::sha512::graviola[32B]
+3%
4.4 µs
4.3 µs
graviola[32B]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305::graviola[32B]
+2%
4.4 µs
4.3 µs
aws-lc-rs[32B]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305::aws-lc-rs[32B]
+2%
4.4 µs
4.3 µs
rustcrypto[32B]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::rustcrypto[32B]
+2%
3.5 µs
3.4 µs
rustcrypto[32B]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::rustcrypto[32B]
+2%
3.5 µs
3.5 µs
ring[32B]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305::ring[32B]
+2%
3.6 µs
3.5 µs
ring[32B]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::ring[32B]
+1%
5.1 µs
5 µs
aws-lc-rs[32B]
graviola-bench/benches/sha2.rs::benches::sha256::sha256::aws-lc-rs[32B]
+1%
6.8 µs
6.7 µs
aws-lc-rs[2KB]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305::aws-lc-rs[2KB]
+1%
13.4 µs
13.3 µs
ring[32B]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::ring[32B]
+1%
5.1 µs
5 µs
rustcrypto[2KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::rustcrypto[2KB]
+1%
11.4 µs
11.3 µs
graviola[2KB]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305::graviola[2KB]
0%
17.9 µs
17.8 µs
rustcrypto[2KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::rustcrypto[2KB]
0%
12.1 µs
12.1 µs
ring[2KB]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305::ring[2KB]
0%
12.6 µs
12.5 µs
ring[2KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::ring[2KB]
0%
10.9 µs
10.8 µs
rustcrypto[2KB]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305::rustcrypto[2KB]
0%
21.8 µs
21.7 µs
rustcrypto[8KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::rustcrypto[8KB]
0%
29.8 µs
29.7 µs
rustcrypto[8KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::rustcrypto[8KB]
0%
30.9 µs
30.9 µs
aws-lc-rs
graviola-bench/benches/p256.rs::benches::keygen::p256-keygen::aws-lc-rs
0%
136 µs
135.8 µs
aws-lc-rs[16KB]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305::aws-lc-rs[16KB]
0%
64.6 µs
64.5 µs
ring[8KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::ring[8KB]
0%
22.1 µs
22 µs
graviola[8KB]
graviola-bench/benches/sha2.rs::benches::sha512::sha512::graviola[8KB]
0%
88.1 µs
88 µs
aws-lc-rs
graviola-bench/benches/p256.rs::benches::ecdh::p256-ecdh::aws-lc-rs
0%
365.7 µs
365.3 µs
ring[16KB]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305::ring[16KB]
0%
63.8 µs
63.7 µs
graviola
graviola-bench/benches/p256.rs::benches::ecdsa_verify::p256-ecdsa-verify::graviola
0%
364.8 µs
364.4 µs
graviola[16KB]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305::graviola[16KB]
0%
112.8 µs
112.7 µs
rustcrypto[16KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::rustcrypto[16KB]
0%
67.3 µs
67.2 µs
rustcrypto[16KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::rustcrypto[16KB]
0%
69.4 µs
69.3 µs
rustcrypto[16KB]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305::rustcrypto[16KB]
0%
84.7 µs
84.6 µs
graviola[8KB]
graviola-bench/benches/sha2.rs::benches::sha256::sha256::graviola[8KB]
0%
188.4 µs
188.3 µs
aws-lc-rs
graviola-bench/benches/p256.rs::benches::ecdsa_sign::p256-ecdsa-sign::aws-lc-rs
0%
172.4 µs
172.3 µs
ring[16KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::ring[16KB]
0%
49.6 µs
49.6 µs
ring
graviola-bench/benches/p256.rs::benches::ecdsa_sign::p256-ecdsa-sign::ring
0%
152.8 µs
152.7 µs
graviola
graviola-bench/benches/rsa_pub.rs::benches::rsa2048_pkcs1_sha256_verify::rsa2048-pkcs1-sha256-verify::graviola
0%
87 µs
86.9 µs
aws-lc-rs[8KB]
graviola-bench/benches/sha2.rs::benches::sha256::sha256::aws-lc-rs[8KB]
0%
89.1 µs
89.1 µs
graviola
graviola-bench/benches/p256.rs::benches::ecdsa_sign::p256-ecdsa-sign::graviola
0%
184.2 µs
184.1 µs
aws-lc-rs
graviola-bench/benches/p256.rs::benches::ecdsa_verify::p256-ecdsa-verify::aws-lc-rs
0%
267.7 µs
267.6 µs
ring
graviola-bench/benches/p256.rs::benches::keygen::p256-keygen::ring
0%
126.6 µs
126.5 µs
graviola
graviola-bench/benches/x25519.rs::benches::x25519::x25519-ecdh::graviola
0%
154.9 µs
154.8 µs
graviola[64KB]
graviola-bench/benches/sha2.rs::benches::sha512::sha512::graviola[64KB]
0%
638.7 µs
638.6 µs
graviola
graviola-bench/benches/rsa_priv.rs::benches::rsa2048_pkcs1_sha256_sign::rsa2048-pkcs1-sha256-sign::graviola
0%
2.5 ms
2.5 ms
graviola
graviola-bench/benches/p256.rs::benches::ecdh::p256-ecdh::graviola
0%
425.1 µs
425 µs
rustcrypto
graviola-bench/benches/rsa_pub.rs::benches::rsa2048_pkcs1_sha256_verify::rsa2048-pkcs1-sha256-verify::rustcrypto
0%
954.2 µs
954.2 µs
graviola[64KB]
graviola-bench/benches/sha2.rs::benches::sha256::sha256::graviola[64KB]
0%
1.5 ms
1.5 ms
aws-lc-rs[64KB]
graviola-bench/benches/sha2.rs::benches::sha256::sha256::aws-lc-rs[64KB]
0%
665.6 µs
665.5 µs
aws-lc-rs
graviola-bench/benches/p384.rs::benches::ecdsa_verify::p384-ecdsa-verify::aws-lc-rs
0%
928 µs
927.9 µs
aws-lc-rs
graviola-bench/benches/p384.rs::benches::ecdh::p384-ecdh::aws-lc-rs
0%
1.1 ms
1.1 ms
rustcrypto
graviola-bench/benches/p256.rs::benches::ecdsa_verify::p256-ecdsa-verify::rustcrypto
0%
1.1 ms
1.1 ms
ring
graviola-bench/benches/p384.rs::benches::keygen::p384-keygen::ring
0%
2 ms
2 ms
rustcrypto
graviola-bench/benches/rsa_priv.rs::benches::rsa2048_pkcs1_sha256_sign::rsa2048-pkcs1-sha256-sign::rustcrypto
0%
8 ms
8 ms
rustcrypto
graviola-bench/benches/p384.rs::benches::ecdsa_verify::p384-ecdsa-verify::rustcrypto
0%
5.5 ms
5.5 ms
graviola[1MB]
graviola-bench/benches/sha2.rs::benches::sha512::sha512::graviola[1MB]
0%
10.1 ms
10.1 ms
graviola[1MB]
graviola-bench/benches/sha2.rs::benches::sha256::sha256::graviola[1MB]
0%
23.7 ms
23.7 ms
ring[64KB]
graviola-bench/benches/sha2.rs::benches::sha256::sha256::ring[64KB]
0%
663.3 µs
663.3 µs
ring[64KB]
graviola-bench/benches/sha2.rs::benches::sha512::sha512::ring[64KB]
0%
482.3 µs
482.3 µs
aws-lc-rs[1MB]
graviola-bench/benches/sha2.rs::benches::sha256::sha256::aws-lc-rs[1MB]
0%
10.5 ms
10.5 ms
ring[1MB]
graviola-bench/benches/sha2.rs::benches::sha256::sha256::ring[1MB]
0%
10.5 ms
10.5 ms
ring[1MB]
graviola-bench/benches/sha2.rs::benches::sha512::sha512::ring[1MB]
0%
7.6 ms
7.6 ms
aws-lc-rs[2KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::aws-lc-rs[2KB]
0%
11.1 µs
11.1 µs
aws-lc-rs[8KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::aws-lc-rs[8KB]
0%
22.3 µs
22.3 µs
graviola[2KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::graviola[2KB]
0%
8.4 µs
8.4 µs
graviola[32B]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::graviola[32B]
0%
3.1 µs
3.1 µs
graviola[8KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::graviola[8KB]
0%
18.4 µs
18.4 µs
aws-lc-rs[2KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::aws-lc-rs[2KB]
0%
11.5 µs
11.5 µs
aws-lc-rs[8KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::aws-lc-rs[8KB]
0%
23.1 µs
23.1 µs
graviola[2KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::graviola[2KB]
0%
9 µs
9 µs
graviola[32B]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::graviola[32B]
0%
3.1 µs
3.1 µs
graviola[8KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::graviola[8KB]
0%
19.3 µs
19.3 µs
ring[2KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::ring[2KB]
0%
11.5 µs
11.5 µs
ring[8KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::ring[8KB]
0%
23.3 µs
23.3 µs
rustcrypto[32B]
graviola-bench/benches/chacha20poly1305.rs::benches::bench_chacha20poly1305::chacha20poly1305::rustcrypto[32B]
0%
13.1 µs
13.1 µs
ring
graviola-bench/benches/p384.rs::benches::ecdsa_sign::p384-ecdsa-sign::ring
0%
2.2 ms
2.2 ms
p384-rustcrypto
graviola-bench/benches/p384.rs::benches::keygen::p384-keygen::p384-rustcrypto
0%
2.7 ms
2.7 ms
ring[32B]
graviola-bench/benches/sha2.rs::benches::sha256::sha256::ring[32B]
0%
4.4 µs
4.4 µs
ring[8KB]
graviola-bench/benches/sha2.rs::benches::sha256::sha256::ring[8KB]
0%
86.8 µs
86.8 µs
ring[32B]
graviola-bench/benches/sha2.rs::benches::sha512::sha512::ring[32B]
0%
5.3 µs
5.3 µs
ring[8KB]
graviola-bench/benches/sha2.rs::benches::sha512::sha512::ring[8KB]
0%
65 µs
65 µs
rustcrypto[1MB]
graviola-bench/benches/sha2.rs::benches::sha512::sha512::rustcrypto[1MB]
0%
11.9 ms
11.9 ms
rustcrypto[64KB]
graviola-bench/benches/sha2.rs::benches::sha512::sha512::rustcrypto[64KB]
0%
746.1 µs
746.1 µs
rustcrypto[8KB]
graviola-bench/benches/sha2.rs::benches::sha512::sha512::rustcrypto[8KB]
0%
97.5 µs
97.5 µs
ring
graviola-bench/benches/rsa_priv.rs::benches::rsa2048_pkcs1_sha256_sign::rsa2048-pkcs1-sha256-sign::ring
0%
3.4 ms
3.4 ms
rustcrypto[1MB]
graviola-bench/benches/sha2.rs::benches::sha256::sha256::rustcrypto[1MB]
0%
18 ms
18 ms
aws-lc-rs
graviola-bench/benches/p384.rs::benches::keygen::p384-keygen::aws-lc-rs
0%
265 µs
265 µs
p384-rustcrypto
graviola-bench/benches/p384.rs::benches::ecdh::p384-ecdh::p384-rustcrypto
0%
5.4 ms
5.4 ms
ring
graviola-bench/benches/p384.rs::benches::ecdsa_verify::p384-ecdsa-verify::ring
0%
3.9 ms
3.9 ms
rustcrypto
graviola-bench/benches/p384.rs::benches::ecdsa_sign::p384-ecdsa-sign::rustcrypto
0%
3.1 ms
3.1 ms
dalek
graviola-bench/benches/x25519.rs::benches::x25519::x25519-ecdh::dalek
0%
361.7 µs
361.8 µs
aws-lc-rs
graviola-bench/benches/x25519.rs::benches::x25519::x25519-ecdh::aws-lc-rs
0%
203.1 µs
203.1 µs
ring
graviola-bench/benches/p384.rs::benches::ecdh::p384-ecdh::ring
0%
4 ms
4 ms
p256-rustcrypto
graviola-bench/benches/p256.rs::benches::ecdh::p256-ecdh::p256-rustcrypto
0%
1.1 ms
1.1 ms
rustcrypto[64KB]
graviola-bench/benches/sha2.rs::benches::sha256::sha256::rustcrypto[64KB]
0%
1.1 ms
1.1 ms
ring[16KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::ring[16KB]
0%
51.2 µs
51.2 µs
aws-lc-rs[1MB]
graviola-bench/benches/sha2.rs::benches::sha512::sha512::aws-lc-rs[1MB]
0%
7.6 ms
7.6 ms
graviola
graviola-bench/benches/p384.rs::benches::ecdsa_sign::p384-ecdsa-sign::graviola
0%
745.9 µs
745.9 µs
graviola
graviola-bench/benches/p384.rs::benches::ecdsa_verify::p384-ecdsa-verify::graviola
0%
1.3 ms
1.3 ms
graviola[16KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::graviola[16KB]
0%
46.5 µs
46.5 µs
graviola[16KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::graviola[16KB]
0%
44.7 µs
44.7 µs
aws-lc-rs
graviola-bench/benches/rsa_priv.rs::benches::rsa2048_pkcs1_sha256_sign::rsa2048-pkcs1-sha256-sign::aws-lc-rs
0%
2.4 ms
2.4 ms
ring
graviola-bench/benches/x25519.rs::benches::x25519::x25519-ecdh::ring
0%
384.1 µs
384.2 µs
aws-lc-rs[16KB]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::aws-lc-rs[16KB]
0%
51.4 µs
51.4 µs
aws-lc-rs[16KB]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::aws-lc-rs[16KB]
0%
49.7 µs
49.8 µs
ring
graviola-bench/benches/p256.rs::benches::ecdh::p256-ecdh::ring
0%
344.4 µs
344.4 µs
ring
graviola-bench/benches/p256.rs::benches::ecdsa_verify::p256-ecdsa-verify::ring
0%
260.3 µs
260.4 µs
graviola
graviola-bench/benches/p384.rs::benches::ecdh::p384-ecdh::graviola
0%
1.4 ms
1.4 ms
graviola
graviola-bench/benches/p384.rs::benches::keygen::p384-keygen::graviola
0%
657.8 µs
657.9 µs
p256-rustcrypto
graviola-bench/benches/p256.rs::benches::keygen::p256-keygen::p256-rustcrypto
0%
568.9 µs
569 µs
rustcrypto[8KB]
graviola-bench/benches/sha2.rs::benches::sha256::sha256::rustcrypto[8KB]
0%
147.9 µs
147.9 µs
aws-lc-rs
graviola-bench/benches/rsa_pub.rs::benches::rsa2048_pkcs1_sha256_verify::rsa2048-pkcs1-sha256-verify::aws-lc-rs
0%
127.3 µs
127.3 µs
aws-lc-rs
graviola-bench/benches/p384.rs::benches::ecdsa_sign::p384-ecdsa-sign::aws-lc-rs
0%
435.9 µs
436 µs
graviola
graviola-bench/benches/p256.rs::benches::keygen::p256-keygen::graviola
0%
120.7 µs
120.7 µs
rustcrypto
graviola-bench/benches/p256.rs::benches::ecdsa_sign::p256-ecdsa-sign::rustcrypto
0%
700.6 µs
700.8 µs
aws-lc-rs[64KB]
graviola-bench/benches/sha2.rs::benches::sha512::sha512::aws-lc-rs[64KB]
0%
484.8 µs
485 µs
ring
graviola-bench/benches/rsa_pub.rs::benches::rsa2048_pkcs1_sha256_verify::rsa2048-pkcs1-sha256-verify::ring
0%
146.7 µs
146.8 µs
aws-lc-rs[8KB]
graviola-bench/benches/sha2.rs::benches::sha512::sha512::aws-lc-rs[8KB]
0%
67.5 µs
67.7 µs
rustcrypto[32B]
graviola-bench/benches/sha2.rs::benches::sha256::sha256::rustcrypto[32B]
0%
7.1 µs
7.2 µs
aws-lc-rs[32B]
graviola-bench/benches/aes_gcm.rs::benches::aes256_gcm::aes256-gcm::aws-lc-rs[32B]
-1%
5.1 µs
5.1 µs
aws-lc-rs[32B]
graviola-bench/benches/aes_gcm.rs::benches::aes128_gcm::aes128-gcm::aws-lc-rs[32B]
-1%
5 µs
5.1 µs
rustcrypto[32B]
graviola-bench/benches/sha2.rs::benches::sha512::sha512::rustcrypto[32B]
-1%
3.9 µs
3.9 µs
aws-lc-rs[32B]
graviola-bench/benches/sha2.rs::benches::sha512::sha512::aws-lc-rs[32B]
-2%
7.9 µs
8.1 µs

Commits

Click on a commit to change the comparison range
base
main
c1614e2
0%
zeroing test
65c9f4d
4 days ago
by conradludgate
0%
fix benchmark trait imports
bd32735
2 days ago
by conradludgate
ResourcesHomePricingDocsBlogGitHubChangelog
Copyright © 2024 CodSpeed Technology SAS. All rights reserved.