18 std::vector<std::byte> key(32, {});
21 std::vector<std::byte> in(buffersize, {});
22 std::vector<std::byte> out(buffersize, {});
27 std::vector<std::byte> key(32);
29 std::vector<std::byte> in(buffersize);
30 std::vector<std::byte> aad;
32 bench.
batch(in.size()).
unit(
"byte").
run([&] {
ctx.Encrypt(in, aad, out); });
static const uint64_t BUFFER_SIZE_LARGE
BENCHMARK(CHACHA20_64BYTES)
static void FSCHACHA20POLY1305(benchmark::Bench &bench, size_t buffersize)
static void CHACHA20_256BYTES(benchmark::Bench &bench)
static void CHACHA20(benchmark::Bench &bench, size_t buffersize)
static const uint64_t BUFFER_SIZE_TINY
static void CHACHA20_1MB(benchmark::Bench &bench)
static void CHACHA20_64BYTES(benchmark::Bench &bench)
static void FSCHACHA20POLY1305_64BYTES(benchmark::Bench &bench)
static const uint64_t BUFFER_SIZE_SMALL
static void FSCHACHA20POLY1305_1MB(benchmark::Bench &bench)
static void FSCHACHA20POLY1305_256BYTES(benchmark::Bench &bench)
Unrestricted ChaCha20 cipher.
Forward-secure wrapper around AEADChaCha20Poly1305.
static constexpr auto EXPANSION
Expansion when encrypting.
Main entry point to nanobench's benchmarking facility.
ANKERL_NANOBENCH(NODISCARD) std Bench & batch(T b) noexcept
Sets the batch size.
Bench & run(char const *benchmarkName, Op &&op)
Repeatedly calls op() based on the configuration, and performs measurements.
Bench & unit(char const *unit)
Sets the operation unit.