diff options
Diffstat (limited to 'tests/fragmentation/tfragment_alloc.nim')
-rw-r--r-- | tests/fragmentation/tfragment_alloc.nim | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/fragmentation/tfragment_alloc.nim b/tests/fragmentation/tfragment_alloc.nim new file mode 100644 index 000000000..031588d27 --- /dev/null +++ b/tests/fragmentation/tfragment_alloc.nim @@ -0,0 +1,27 @@ + +discard """ + output: '''occupied ok: true +total ok: true''' +""" + +import strutils, data + +proc main = + var m = 0 + for i in 0..1000_000: + let size = sizes[i mod sizes.len] + let p = alloc(size) + if p == nil: + quit "could not serve request!" + dealloc p + # c_fprintf(stdout, "iteration: %ld size: %ld\n", i, size) + +main() + +let occ = getOccupiedMem() +let total = getTotalMem() + +# Current values on Win64: 824KiB / 106.191MiB + +echo "occupied ok: ", occ < 2 * 1024 * 1024 +echo "total ok: ", total < 120 * 1024 * 1024 |