16 lines
389 B
Text
16 lines
389 B
Text
def build (n : Nat) : Array Unit := Id.run <| do
|
||
let mut out := #[]
|
||
for _ in [0:n] do
|
||
out := out.push ()
|
||
out
|
||
|
||
@[noinline] def size : IO Nat := pure 50000
|
||
|
||
def bench (f : ∀ {α : Type}, α → IO Unit := fun _ => pure ()) : IO Unit := do
|
||
let n ← size
|
||
let arr := build n
|
||
timeit "time" $
|
||
for _ in [:1000] do
|
||
f $ #[1, 2, 3, 4].map fun ty => arr[ty]!
|
||
|
||
#eval bench
|