[kaffe] tuning kaffe to do well on volanomark in embedded systems?
dank at kegel.com
Tue Dec 31 17:00:30 PST 2002
I just built kaffe-1.0.7 updated to cvs libtools (see my previous post)
to run on a PPC750 linux embedded system with 128MB of RAM.
(To do this, you have to build a local copy of kaffe-1.0.7,
and then build a cross-copy by overriding the following environment
variables before configuring:
CC=@CROSS_TOOL at gcc CFLAGS="@TARGET_CFLAGS@" LD=@CROSS_TOOL at ld AR=@CROSS_TOOL at ar
KAFFEH=@ARCHDIR@/build/bin/kaffeh ac_cv_alignmentof_voidp=4 ac_cv_long_division_broken=yes
ac_cv_long_long_modulo_broken=no ac_cv_long_modulo_broken=yes ac_cv_strtod_m0_broken=no
I'm not quite sure about the values of some of those overrides-
do any of them significantly hurt performance? like the modulo overrides?)
First off, congratulations to Kaffe for making a portable
free implementation of Java available! I expect to be able
to run Java on several platforms where Blackdown/Sun's JVM
aren't available thanks to you guys!
Now, here's a little performance comparison with Blackdown JRE 1.3.1.
Kaffe uses significantly more RAM, and yields significantly
poorer performance, at least the way I built and ran it.
Before starting the client, 'free' reports 96MB of RAM available (there is no swap).
/opt/kaffe/jre/bin/kaffe -ms8m -mx64m COM.volano.Mark -count 100 -users 10
(e.g. one half the default number of users) works fine, and gives 201 messages/second.
The client and server both take up around 35MB; CPU time is split 2/3 for client,
1/3 for server.
If I try to run with -users 20, I run out of memory. (Note that one of the
errors is the same one reported last year in
kaffe-bin: ../../../kaffe-1.0.7-libtool1.4e/kaffe/kaffevm/ksem.h:113: ksemPut: Assertion `sem->count
== 0' failed.
so perhaps that user was running out of memory, too.
Running the same benchmark on the same hardware with Blackdown JRE 1.3.1
yields a rather more satisfying 11OO message/sec, and
doesn't run out of memory on the default workload (-users 20).
I have run 'strip -g' on all the shared libraries and executables,
I think. Any suggestions for how to speed up and trim down
Linux User #78045
More information about the kaffe