From 6b04a3442f452d4cce2cd8c1b26fb6ac9d94091a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D1=80=D1=82=D1=91=D0=BC=20=D0=9F=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2=20=5BArtyom=20Pavlov=5D?= Date: Mon, 9 Feb 2026 17:24:12 +0300 Subject: [PATCH 1/2] rc4: add basic benches --- rc4/Cargo.toml | 1 + rc4/benches/mod.rs | 15 +++++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 rc4/benches/mod.rs diff --git a/rc4/Cargo.toml b/rc4/Cargo.toml index 1c5523ef..a0f28a40 100644 --- a/rc4/Cargo.toml +++ b/rc4/Cargo.toml @@ -16,6 +16,7 @@ description = "Pure Rust implementation of the RC4 stream cipher" cipher = { version = "0.5", features = ["stream-wrapper"] } [dev-dependencies] +cipher = { version = "0.5", features = ["dev"] } hex-literal = "1" [features] diff --git a/rc4/benches/mod.rs b/rc4/benches/mod.rs new file mode 100644 index 00000000..23daf582 --- /dev/null +++ b/rc4/benches/mod.rs @@ -0,0 +1,15 @@ +//! Basic benchmarks +#![feature(test)] +extern crate test; + +cipher::stream_cipher_bench!( + Init: { + use cipher::KeyInit; + let key = test::black_box(Default::default()); + rc4::Rc4::::new(&key) + }; + rc4_bench1_16b 16; + rc4_bench2_256b 256; + rc4_bench3_1kib 1024; + rc4_bench4_16kib 16384; +); From 8f142b03478aa235b1b0ce014976fe1f96060eb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D1=80=D1=82=D1=91=D0=BC=20=D0=9F=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2=20=5BArtyom=20Pavlov=5D?= Date: Mon, 9 Feb 2026 17:25:28 +0300 Subject: [PATCH 2/2] Add TODO note --- rc4/benches/mod.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/rc4/benches/mod.rs b/rc4/benches/mod.rs index 23daf582..74cd1fd1 100644 --- a/rc4/benches/mod.rs +++ b/rc4/benches/mod.rs @@ -3,6 +3,7 @@ extern crate test; cipher::stream_cipher_bench!( + // TODO: use `Key:` option instead after macro is fixed upstream Init: { use cipher::KeyInit; let key = test::black_box(Default::default());