[jdom-interest] serialVersionUID

Peter V. Gadjokov pvg at c-c-s.com
Sat Sep 16 06:04:32 PDT 2000


I've made a pass at implementing this (long-term persistence support). I'll
put up the modified files when I'm done but since I promised numbers here
are my first set of informal numbers for parsing - 

The results are from in-memory parsing/deserializing, times are averaged
over multiple runs, all times are in elapsed seconds, all sizes in bytes.
The platform is a dual CelA 500 running Win2kPro and JDK 1.3.0 with client
side Hotspot. I used OptimizeIt 4.0 to look for bottlenecks but the results
listed are in elapsed time deltas from System.currentTimeMillis. 

Tiny document - 

Size as XML: 1247
Size as ser: 2832
Number of runs: 1000

SAXBuilder parse elapsed time: 5.56
Deserialization elapsed time : 3.20

SAXBuilder parses/sec: 180.00
Deserializations/sec : 312.21

So, the document ends up being a significantly bigger but the speed is also
greatly improved.

Huge document - 

Size as XML: 865612
Size as ser: 1068366
Number of runs: 40

SAXBuilder parse elapsed time: 47.67
Deserialization elapsed time : 47.62

SAXBuilder parses/sec: 0.84
Deserializations/sec : 0.84

In other words, same deal but bigger. There is no easy way to re-use the
allocated memory so I think both are getting i/o limited as the system
starts paging (as it does as the java process image grows, even when given
128 megs of heap on a machine of with half a gig of RAM). I think I can
change my test harness to alleviate or eliminate the effect. More on that
later. 

These runs were done with a couple of optimizations I made to Namespace.
Without them, deserialization is a bit slower than parsing in the huge file
case. 

Anyhow, that's the lot for now. Write results, the benchmark set and the
patch should be available today or tomorrow (I haven't had a chance to do
any significant testing). Custom read/write methods were added to the
following classes: 

M Attribute.java
M CDATA.java
M Comment.java
M DocType.java
M Document.java
M Element.java
M Entity.java
M ProcessingInstruction.java

If I've missed something, please yell. Any suggestions for documents to use
in performance testing would be much appreciated. 

-pvg





More information about the jdom-interest mailing list