Re:Performances with gcj
"ffileppo" <[email protected]>
| Newsgroups | gmane.comp.gcc.java.devel |
|---|---|
| Message-ID | <[email protected]> |
> Hi all, > > I had to release a program that executes an external process and gets > its standard output. > I implemented a solution with threads and pipes to redirect inputs and > outputs (cf PipeTest.java). > > I choose the 'find /' command to test it. > I'm very surprised about gcj performances which are 5x slowly than sun jvm. > In fact, I expected that my compiled program would be faster than all jvm. > > Do you have an idea about these differences ? > Is that the gnu classpath implementation which is quiet slow ? > > Regards, > Benjamin > > # test1 : bash > $ time find / > real 2m6.054s > user 0m5.260s > sys 0m6.990s > > # test2 : compilation with gcj > $ gcj --main=PipeTest -o test.bin PipeTest.java > $ time test.bin > real 18m50.632s > user 4m56.380s > sys 8m31.940s > > real 19m38.148s > user 5m9.660s > sys 9m44.710s > > # test3: interpretation with gij > $ gcj -C PipeTest.java > $ time gij PipeTest > > real 22m39.882s > user 6m7.580s > sys 10m26.350s > > # test4 : interpretation with java > $ javac PipeTest.java > $ time java PipeTest > real 3m35.035s > user 1m18.710s > sys 0m11.730s > > ##### compilers ##### > $ gcj --version > gcj (GCC) 4.2.3 (Ubuntu 4.2.3-2ubuntu6) > > $ javac -version > javac 1.6.0_03 > You need to pass -O2 or -O3 option to gcj compiler (no optimization is enabled by default). Please take a look at other posts about gcj performance (http://gcc.gnu.org/ml/java/2008-05/msg00017.html). Francesco