import os @[direct_array_access] fn test_big_int_array() { dump(sizeof(isize)) mut maxn := 500_000_000 // try allocating ~2GB worth of integers on 32bit platforms if sizeof(isize) > 4 { maxn = 1_000_000_000 // 1 billion integers, when each is 4 bytes => require ~4GB } // NB: this test requires RAM that many people do not have, so only run it in full, when VTEST_BIGMEM is 1 vtest_bigmem := os.getenv('VTEST_BIGMEM').int() if vtest_bigmem == 0 { maxn = 10_000_000 } dump(maxn) mut data := []int{len: maxn} // ensure that all of the elements are written at least once, to prevent the OS from cheating: for i in 0 .. maxn { data[i] = i } assert data[0] == 0 assert data[maxn - 1] == maxn - 1 dump(data#[0..10]) dump(data#[-10..]) }