[josm-dev] Jumbo Patch
Gabriel Ebner
ge at gabrielebner.at
Tue Dec 18 00:08:32 GMT 2007
On Tue, Dec 18, 2007 at 12:49:50AM +0100, Petr Nejedly wrote:
> > [1] Are there any recent/accurate informations on the object layout of Sun's
> > VM? The best I've found is this:
> > http://java.sun.com/developer/technicalArticles/Networking/HotSpot/
> > But it's almost 10 years old.
>
> The information there is right.
> "new Object()" is 8B (assuming 32bit JVM), as is any stateless instance.
> Object[0] and Object[1] are both 16B, because HotSpot has 8B object granularity.
Thank you for the information.
> If the merging code ever gets in the way and parse all the timestamps
> (which it used to do a month ago, hopefully got fixed by latest improvement
> in the MergeVisitor), you'll get another Date instance.
It still did until a minute ago. But I thought you had an optimized version
of the merging code?
> > By not using a reference type we could save 24 bytes here (one pointer + one
> > header).
> 12B only (do you count with 8B words or what?)
Yes, I'm on a 64-bit machine.
> But imagine this:
>
> public interface Coordinate {
> public double getLatitude();
> public double getLongitude();
> }
>
> public class Node implements Coordinate {
> private double lat, lon;
> }
>
> Of course we can afford that only because Coordinate has no logic attached,
> otherwise we'd need to duplicate the logic in Node.
But we'd still be duplicating the same code wherever we want to store a
coordinate, so this is only a last resort.
Gabriel.
More information about the josm-dev
mailing list