concatenated block serialization
Clemens Eisserer
linuxhippy at gmail.com
Fri Apr 4 12:24:31 PDT 2008
Hi,
> Now loading was a snap: First we loaded the list into one block and the data block into
> another. Second we iterated over the list and added these pointer offsets to the base
> address of the data block to find the addresses of the pointers. Third we added the
> base address of the data block to them. This restored a completely working data block
> and we could release the pointer list block. The performance increase was stunning.
Well the JVM more or less does all this, quite a bit arround edges but
in fact it does what you propose.
The JVM acquires a large area of memory (the heap) where it can
allocate memory usually with a few instructions. Of course heap is not
the continues block you describe, but it does pretty much the same.
As far as I know allocation is typically not the problem for
serialization, but I may be wrong.
As far as I know traversing the whole object-graph is not that cheap,
furthermore it also uses tons of reflective accesses of course.
lg Clemens
More information about the hotspot-runtime-dev
mailing list