Are there any built it options for arrays supporting more than 2^31 keys. This would make keys of type System.Int64 rather than System.Int. While 2^31 is a fair amount, there are a growing number of of applications where more keys would help. For instance, there are over 3 billion base pairs in the human genome. Any easy options?
Share
It’s not possible in .NET because there is a maximum limit of 2GB per object. Even in 64-bit, you still have this limit.
If you really want to try to keep all this data in memory at once, you could partition your data into chunks. You can even write a wrapper class to transparently map the index from an Int64 to an Int32 index on the correct partition.
You could read this article about BigArray.