Zig 0.17.0-dev (Split by item)

This is an example of documentation generated by ZigDoc, an alternative to Zig's built-in Auto Doc feature. See also examples in other modes/formats. The project being documented here (as the example) is the Zig library itself.

benchmarkKemKeyGen

benchmark.benchmarkKemKeyGen
pub fn benchmarkKemKeyGen(comptime Kem: anytype, comptime kems_count: comptime_int, io: std.Io) !u64

File

lib/std/crypto/benchmark.zig:297

Code

pub fn benchmarkKemKeyGen(comptime Kem: anytype, comptime kems_count: comptime_int, io: std.Io) !u64 {
    const start = benchTime(io);
    {
        var i: usize = 0;
        while (i < kems_count) : (i += 1) {
            const key_pair = Kem.KeyPair.generate(io);
            mem.doNotOptimizeAway(&key_pair);
        }
    }
    const end = benchTime(io);

    const elapsed_s = @as(f64, @floatFromInt(end - start)) / time.ns_per_s;
    const throughput = @as(u64, @intFromFloat(kems_count / elapsed_s));

    return throughput;
}