[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