summaryrefslogtreecommitdiff
path: root/bench/sha1-compute.myr
blob: def82a0afa456bcf3eb6657062b790d3003a751f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
use crypto
use std
use testr

var buf : byte[128*1024*1024]

const main = {
	for var i = 0; i < buf.len; i++
		buf[i] = (i : byte)
	;;
	testr.bench([
		[.name="sha1-1kb", .fn={ctx; hash(std.KiB)}],
		[.name="sha1-1mb", .fn={ctx; hash(std.MiB)}],
		[.name="sha1-16mb", .fn={ctx; hash(16*std.MiB)}],
		[.name="sha1-128mb", .fn={ctx; hash(128*std.MiB)}],
	][:])
}

const hash = {len
	var st

	crypto.sha1init(&st)
	crypto.sha1add(&st, buf[:len])
	crypto.sha1fin(&st)
}