v/vlib/benchmark/benchmark_test.v

38 lines
888 B
V

import time
import benchmark
fn test_measure() {
mut b := benchmark.start()
time.sleep(200 * time.millisecond)
x := b.measure('sleeping') // returns microseconds
flush_stdout()
assert x > 150_000
// assert x < 800_000 // this can be much longer on a slow CI runner
}
fn test_record_measure() {
mut b := benchmark.start()
println('step 1')
flush_stdout()
time.sleep(100 * time.millisecond)
x := b.record_measure('sleeping 1')
assert x > 50_000
// assert x < 200_000
flush_stdout()
//
println('step 2')
flush_stdout()
time.sleep(150 * time.millisecond)
y := b.record_measure('sleeping 2')
assert y > 100_000
// assert y < 200_000
flush_stdout()
//
res := b.all_recorded_measures()
println('All recorded measurements:')
println(res)
flush_stdout()
assert res.contains('ms in sleeping 1')
assert res.contains('ms in sleeping 1')
assert res.contains('SPENT')
}