ref: a16c4e637079bb3d7f1cb93ae9b2348d710c003f
dir: /bench/copious-allocs.myr/
use std type blob = struct x : int[10] ;; const main = { var i, j var a : blob#[10000] for j = 0; j < 100; j++ /* alloc forwards, dealloc forwards */ for i = 0; i < a.len; i++ a[i] = std.alloc() ;; for i = 0; i < a.len; i++ std.free(a[i]) ;; /* alloc forwards, dealloc backwards */ for i = 0; i < a.len; i++ a[i] = std.alloc() ;; for i = a.len; i > 0; i-- std.free(a[i - 1]) ;; /* alloc forwards, dealloc randomly */ for i = 0; i < a.len; i++ a[i] = std.alloc() ;; shuffle(a[:]) for i = a.len; i > 0; i-- std.free(a[i - 1]) ;; ;; } const shuffle = {a var t var rng var i, j rng = std.mksrng(123) for i = 0; i < a.len - 1; i++ j = std.rand(rng, i, a.len) t = a[j] a[j] = a[i] a[i] = t ;; }