# Pastebin 5Moil4yd import nimbench import random randomize() bench(baseline, m): var toFill = newSeq[float]() for _ in 1..m: toFill.add(random(100.0)) doNotOptimizeAway(toFill) bench(zeroed, m): var toFill = newSeq[float](m) for i in toFill.low..toFill.high: toFill[i] = random(100.0) doNotOptimizeAway(toFill) bench(capOnly, m): var toFill = newSeqOfCap[float](m) for _ in 1..m: toFill.add(random(100.0)) doNotOptimizeAway(toFill) runBenchmarks() # ============================================================================ # GlobalBenchmark relative time/iter iters/s # ============================================================================ # GlobalBenchmark 257.02ps 3.89G # ============================================================================ # bench.nim relative time/iter iters/s # ============================================================================ # baseline 3.49ns 286.17M # zeroed 2.49ns 401.11M # capOnly 4.18ns 239.42M