import times, os, random
const iterations = 2000000000
proc foo() =
var r = initRand(2019)
let start = cpuTime()
try:
for k in 0..iterations:
discard r.next()
finally:
discard 0
echo("foo time: ", cpuTime() - start)
proc bar() =
proc inner(r : var Rand) =
for k in 0..iterations:
discard r.next()
var r = initRand(2019)
let start = cpuTime()
try:
inner(r)
finally:
discard 0
echo("bar time: ", cpuTime() - start)
proc baz() =
let start = cpuTime()
var r = initRand(2019)
for k in 0..iterations:
discard r.next()
discard 0
echo("baz time: ", cpuTime() - start)
foo()
foo()
bar()
bar()
baz()
baz()
const iterations = 2000000000
proc foo() =
var r = initRand(2019)
let start = cpuTime()
try:
for k in 0..iterations:
discard r.next()
finally:
discard 0
echo("foo time: ", cpuTime() - start)
proc bar() =
proc inner(r : var Rand) =
for k in 0..iterations:
discard r.next()
var r = initRand(2019)
let start = cpuTime()
try:
inner(r)
finally:
discard 0
echo("bar time: ", cpuTime() - start)
proc baz() =
let start = cpuTime()
var r = initRand(2019)
for k in 0..iterations:
discard r.next()
discard 0
echo("baz time: ", cpuTime() - start)
foo()
foo()
bar()
bar()
baz()
baz()