From: David P G. <gr...@us...> - 2013-05-07 12:55:55
|
For X10 2.4, we've made the jump to long-based indexing for Rail, Point, Region, Array, DistArray, etc. This enables X10 2.4 to naturally support very large array-based data structures (both single place and distributed). A natural corollary of that is that x10.util.ArrayList should probably also be upgraded to long-based indexing (since one is supposed to think of ArrayList as a "collectionized" GrowableRail, and Rail/GrowableRail are indexed by longs). In itself, that change makes sense, but it then pushes into the rest of the x10.util collection APIs. In particular, the indexing methods of ArrayList are implementations of the List interface. Furthermore, the size method of ArrayList implements the size method of Container. Should we follow through the change to the logical conclusion and make all of the x10.util collections 64-bit sized? One the one hand it seems like the most consistent thing to do. On the other hand, it cause more API incompatibilities with X10 2.3.x and isn't quite as obvious that having the size of Maps and other collections be 64 bit is quite as useful as it is for array-like data structures. Any thoughts? I think I'd lean to making everything 64-bit in the name of consistency, but I don't think we absolutely have to. thanks, --dave |