public inbox for java@gcc.gnu.org
 help / color / mirror / Atom feed
* Re:Performances with gcj
@ 2008-08-10 18:30 ffileppo
  2008-08-10 21:34 ` Performances " Benjamin de Dardel
  0 siblings, 1 reply; 2+ messages in thread
From: ffileppo @ 2008-08-10 18:30 UTC (permalink / raw)
  To: benjamin.de-dardel; +Cc: java

> 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


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Performances with gcj
  2008-08-10 18:30 Re:Performances with gcj ffileppo
@ 2008-08-10 21:34 ` Benjamin de Dardel
  0 siblings, 0 replies; 2+ messages in thread
From: Benjamin de Dardel @ 2008-08-10 21:34 UTC (permalink / raw)
  To: ffileppo; +Cc: java

Hi Francesco,

Thanks for your response. I had already tryed to optimize the code with 
the java file, but it didn't work :
$ gcj -0 --main=PipeTest -o test.bin PipeTest.java
gcj: unrecognized option '-0'

With class files, compilation works... but performances decrease !
May be it's beacause of the threads. I don't know. I'll do some other 
tests in the next days.

# test5
$ gcj -C PipeTest.java
$ gcj -O2 --main=PipeTest -o test.bin PipeTest.class Consumer.class 
Producer.class Filter.class

real    21m59.844s
user    5m26.070s
sys     9m52.130s

# test6
$ gcj -C PipeTest.java
$ gcj -O3 --main=PipeTest -o test.bin PipeTest.class Consumer.class 
Producer.class Filter.class

real    25m34.394s
user    6m12.250s
sys     11m4.440s

ffileppo a écrit :
>> 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
>
>
>
>
>   

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2008-08-10 21:34 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-08-10 18:30 Re:Performances with gcj ffileppo
2008-08-10 21:34 ` Performances " Benjamin de Dardel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).