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 27 28 29 30 31
|
discard """
output: '''occupied ok: true
total ok: true'''
disabled: "true"
"""
import strutils, data
proc main =
var m = 0
# Since the GC test is slower than the alloc test, we only iterate 100_000 times here:
for i in 0..100_000:
let size = sizes[i mod sizes.len]
let p = newString(size)
# c_fprintf(stdout, "iteration: %ld size: %ld\n", i, size)
main()
let occ = getOccupiedMem()
let total = getTotalMem()
# Concrete values on Win64: 58.152MiB / 188.285MiB
let occupiedOk = occ < 82 * 1024 * 1024
if not occupiedOk:
echo "occupied ", formatSize(occ)
echo "occupied ok: ", occupiedOk
let totalOk = total < 230 * 1024 * 1024
if not totalOk:
echo "total peak memory ", formatSize(total)
echo "total ok: ", totalOk
|