db4o Developer Community

db4o open source object database, native to Java and .NET
Welcome to db4o Developer Community Sign in | Join
in Search
More Search Options

Product News from the Core Team

This blog features product news right from the core developer team, once new features and functions get checked into Subversion, available as Continuous Build every 2 hours.

db4o runs successfully on Apache Harmony!

I tried to make db4o run on Apache Harmony[1], which is an open source J2SE implementation under Apache License V2. After 2 days struggling, fixing some bugs in Harmony, db4o runs successfully on Apache Harmony now!  All the test cases (except sun jre dependent test cases) are passed on Harmony. Now people have one more choice that considering to use Harmony as java runtime environment.  Hopefully db4o core could run on any popular open source jvms! (Actually, only one left, kaffe + gnu classpath).  

My environment is :

windows xp & sp2 + IBM VME[2] + Apache Harmony + db4o 5.7

I didn't do performance benchmark with db4o on Harmony, but from the elapsed time to run all tests, it seems:

1. Harmony is a bit slower than SUN JDK 5 when running all tests in file and single c/s mode. About 5%-30% downgrade.

2. Harmony has very good performance when executing concurreny test cases, which is 200%-350% faster than SUN JDK 5.

The important things are:

1. Harmony provides a community-developed modular runtime (VM and class library) architecture. VM is pluggable, classlib is also well-modularized. i.e, you could use DRLVM(an open source vm) if you'd like with Harmony classlib.

2. You may also customize the classlib. That's a big advantage over sun's jre. Technically, It's hard to customize rt.jar of sun jre. You may customize Harmony as ME, SE, or even (ME + SE)/2 ... (for legal problem, please ask them on harmony community mailing list. But so far as I know, Apache License v2 allowes such customization.)

3. Harmony hasn't started performance optimization yet. I believe the performance would be improved in 2007.

4. Last not the least, OPEN SOURCE always does matter!

Notes: Apache Harmony is under AL v2, while db4o is under GPL license for developers.

[1] Apache Harmony official website: http://incubator.apache.org/harmony/

[2] IBM VME download: http://www-128.ibm.com/developerworks/java/jdk/harmony/index.html

Published Wednesday, October 11, 2006 8:39 AM by Andrew Zhang
Filed under: , ,


Comments

 

Andrew Zhang said:

I tried DRLVM, and found that the performance was quite good, almost the same as SUN JRE! All tests are also passed on Harmony classlib + DRLVM. But unfortunately, DRLVM crashes when executing concurrency tests.

cheers!

October 11, 2006 7:16 PM
Anonymous comments are disabled