| [reply] |
The indices on perl arrays are currently 32-bit signed integers, giving a maximum index of 2147483647.
Dave. | [reply] |
Don't leave just yet. ;) This isn't uniquely impossible for just Perl. But the problem you're trying to solve may be within reach of many languages and architectures. So what problem are you trying to solve?
Perhaps we've got a communications breakdown. Is it possible you're asking if you're able to store values as high as 10^18 in an array? If that's what you want, yes, and you can do so using Math::BigInt (or other Big* modules).
| [reply] |
In theory it should be possible to create a tied array as a front end which does access data outsourced to files or a DB or a cloud service.
I'm confident you could find something like that on CPAN.
The "best solution" depends on the concrete use case...
edit
I suppose we are talking about very sparsely populated arrays, cause one byte per element would result in at least 1e6 terabytes of memory consumption...
Are you sure, you are not rather looking for hashes? =)
Cheers Rolf
( addicted to the Perl Programming Language)
| [reply] |
No.
With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
| [reply] |
No.
Actually, isn't the Utah Data Center supposed to be able to store (and, one presumes, retrieve) data on the scale of yottabytes? Unless I'm getting my exas, zettas and yottas confused, that would seem to do the trick for atleastic's application, whatever it is. (Whether the Utah Data Center is itself a good idea is a completely different discussion.)
| [reply] |
I don't know what that is, but certainly google, amazon, cern, the square kilometer array, no doubt NASA and the NSA and many other organisations have storage arrays that are that large; but none of them could construct a single, homogeneous, directly addressable entity of that magnitude.
(Theoretically, IBM's GPFS could handle it, but only if each element was no more than a single byte. I suspect that the same is true the other distributed filesystems.)
But even if they could, they could not be accessed from Perl, even via a tied interface, as internally, arrays use 32-bit indexes.
With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
| [reply] |