The biggest hole in the address space you can get, right after you started the program, is around 500 or 600 megabytes. And while a 32-bit process will have 2 gigabytes of memory, you'll never get anywhere near a hole that's close to that size. Virtual memory is used for code and data, you allocate from the holes that are left between them. A hard requirement for an array is that the process must be able to allocate a contiguous chunk of memory to store the array. The underlying storage for a List class is a T array. Can anyone point me to where I may be wrong? //// Test engine set to `x86` for `default processor architecture`įor (long y = 0 y (134217728) I get a System.OutOfMemoryException.ĮDIT2: Error in my calculations: multiplying by 8 is wrong, indeed MB =/= Mbits. However, when I tested this myself I see that it's not the case for x86.
0 Comments
Leave a Reply. |