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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.