Hi all,
It looks like Sun's indifference to 64-bit array indices for Java has been
public for a number of years:
<http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4880587>
I've just added my vote to the RFE.
In April I commented:
The remaining critical omission from the JVM is a new set of arrays
with 64-bit (long) array indices. This will not affect existing code as
long array indices are currently a compile time error. While easy to
implement and critical for some scientific computing tasks I do not see
Sun taking leadership of this issue. My guess is (an offshoot of) the
Harmony project will eventually force Sun to address this.
In 2003 Intel was ridiculed for its claims that it may not be necessary to
provide 64-bit CPUs to desktop consumers before the end of the decade:
<http://slashdot.org/comments.pl?sid=54835&cid=5371889>
Not being able to make nor index a 2GB byte array is similarly ludicrous.
Emulation of contiguous memory using arrays of arrays is a low performance
workaround. Java is supposed to be a high performance general purpose
programming environment for today's hardware. In what decade is Sun going
to recognise this?
Regards,
Adam
Thomas Hawtin - 12 Aug 2006 00:28 GMT
> It looks like Sun's indifference to 64-bit array indices for Java has been
> public for a number of years:
> <http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4880587>
Arrays are low level details, and really could do without being in the
language at all. I'd go for operator overloading and a class that acts
as 2^31+-entry array.
Tom Hawtin
Patricia Shanahan - 12 Aug 2006 05:23 GMT
> Hi all,
>
[quoted text clipped - 25 lines]
> Regards,
> Adam
This is one area when the computer industry insists on repeating the
same mistake decade after decade.
The steps go:
1. We will never need more than X bytes of memory for systems of this class.
2. Well, maybe we need more than X bytes of memory for systems of this
class, but only for multiple segments/objects/chunks each less than X bytes.
3. Wellllll, OK, I suppose you can have your big arrays, if you really must.
The computer industry usually has to be dragged kicking and screaming
from Step 2 to Step 3, despite the continued existence of very large
jobs that need most of their memory in a few large structures. Once Step
2 happens, the demand for Step 3 is never far behind, so why not plan
for it and get ahead?
Patricia