Sunday, March 23, 2008

Dream java: HashSet from Sun, but likely BitSet from GNU

As the majority knows we now have two FOSS implementations of java runtime library: OpenJDK from Sun Microsystems and the parallel GNU Classpath project. There are various opinions on how this situation will be resolved in the future. Hence there is a natural interest to compare these two implementations.

GNU Classpath usually runs with the different java virtual machine than the Sun's code and is used as a whole, without trying to separate any part apart. In that way, no honest comparison is possible between any units that are smaller than all jre + all rtl together. However many packages in GNU Classpath are written entirely in java and are relatively weakly dependent from each other. This opens opportunity to test (and, if wanted, to use) them separately from the main project.



For Sun, we used the classes and jre of the 1.6.0_04 release (not to give opportunity to argue later that results of this research do not apply to the “original” java). GNU Classpath java.util. package was taked from CVS repository and modified to run on the same 1.6.0_04 Sun's jre (simply moving classes into another package). That way we have got the two java.util.* implementations that were capable to coexist on the same virtual machine and to be directly compared with each other.

No comments: