[fedora-java] Profiling ecj (was: Using the natively-built Eclipse compiler)

Andrew Overholt overholt at redhat.com
Thu Mar 24 15:46:42 UTC 2005


Hi,

I decided to do something similar to what Ziga had done.  I took his
HelloWorld.java [1] and compiled it with three incarnations of ecj:

1. java-gcj-compat's javac
2. an ecj made as in [2]
3. an ecj made as in [3]

Quick and dirty results (see [4] for details):

(average of 5 runs)

       |  j-g-c's javac  |  ecj (from .java)  |  ecj (linked)
-------------------------------------------------------------
real   |     1.1724 s    |      0.2812 s      |   0.3804 s
user   |     1.0576 s    |      0.217 s       |   0.313 s
sys    |     0.1144 s    |      0.0636 s      |   0.0672 s

I've attached the raw output of the time commands for all three tests.

Andrew

[1]
http://www.bootchart.org/misc/ecj/HelloWorld.java

[2] Note:  this took a _long_ time ... maybe I did something wrong?
(in an exploded Eclipse source tree (after rpmbuild --short-circuit -bp on
our eclipse.spec) in plugins/org.eclipse.jdt.core/compiler:

gcj -o ecj -I. --main=org.eclipse.jdt.internal.compiler.batch.Main -O2 \
`find -name \*.java -print0 | xargs -0`

[3]
gcj -O2 --main=org.eclipse.jdt.internal.compiler.batch.Main \
-Wl,-R,/usr/lib/eclipse/plugins/org.eclipse.jdt.core_3.1.0 \
/usr/lib/eclipse/plugins/org.eclipse.jdt.core_3.1.0/jdtcore.jar.so \
/usr/lib/eclipse/plugins/org.eclipse.jdt.core_3.1.0/jdtCompilerAdapter.jar.so \
-o ecj.linked

[4]
export CLASSPATH=/usr/share/java/libgcj-4.0.0.jar
time <compiler> HelloWorld.java
-------------- next part --------------
real    0m0.379s
user    0m0.310s
sys     0m0.068s

real    0m0.381s
user    0m0.317s
sys     0m0.065s

real    0m0.384s
user    0m0.310s
sys     0m0.073s

real    0m0.383s
user    0m0.316s
sys     0m0.066s

real    0m0.375s
user    0m0.312s
sys     0m0.064s
-------------- next part --------------
real    0m0.277s
user    0m0.210s
sys     0m0.067s

real    0m0.277s
user    0m0.224s
sys     0m0.052s

real    0m0.279s
user    0m0.198s
sys     0m0.081s

real    0m0.278s
user    0m0.220s
sys     0m0.057s

real    0m0.295s
user    0m0.233s
sys     0m0.061s
-------------- next part --------------
real    0m1.146s
user    0m1.039s
sys     0m0.107s

real    0m1.170s
user    0m1.051s
sys     0m0.117s

real    0m1.154s
user    0m1.047s
sys     0m0.107s

real    0m1.159s
user    0m1.044s
sys     0m0.115s

real    0m1.233s
user    0m1.107s
sys     0m0.126s


More information about the fedora-devel-java-list mailing list