BigArray<T>, getting around the 2GB array size limit

I’ve received a number of queries as to why the 64-bit version of the 2.0 .Net runtime still has array maximum sizes limited to 2GB. Given that it seems to be a hot topic of late I figured a little background and a discussion of the options to get around this limitation was in order….


What is the difference in a P/Invoke signature between “byref byte” and “byte[]”?

Lately we’ve seen a spate of issues coming up on 64-bit platforms within the Developer Division around usages of P/Invoke signatures which declare a parameter as type “byref byte” where the developer really means “byte[]” (the corresponding native parameter type being something like LPBYTE). Usually when something works on 32-bit and doesn’t work on 64-bit…


How the OS Loader will force .Net v1.0/1.1 executables to run under WOW64 on a 64-Bit Machine

[10/15, 2:04pm, fixed a couple typos; 10/15, 4:51pm, clarified a point] Before you read this entry, you might want to read these two entries: – –   In case you skipped the link and kept on reading I’ll summarize the first post linked to (I however believe that they are really worth reading):…


ArrayList’s vs. generic List for primitive types and 64-bits

<edited post, 3:51pm, something in the formatting was messing up the whole page…> The dynamically growing ArrayList structure is an interesting one, the other day I was looking at memory usage of some performance scenarios on 64-bit machines vs. 32-bit machines and noticed that ArrayLists are double the size on 64-bit machines. After looking at…