[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Tinycc-devel] Some benchmarks on RPi
From: |
Christian Jullien |
Subject: |
Re: [Tinycc-devel] Some benchmarks on RPi |
Date: |
Wed, 6 Feb 2013 20:16:46 +0100 |
Gcc is not using -O2 ... but -O3.
Here are the results with -O0:
Gcc loses 20% in program speed but compiles of course much faster
tcc still compiles around 10x faster but runs x3.5 times slower.
Christian
address@hidden ~/openlisp/cbench $ time make
main.c
gabriel.c
boyer.c
browse.c
ctak.c
dderiv.c
deriv.c
destru.c
div2.c
fft.c
fib20.c
fprint.c
fread.c
frpoly.c
puzzle.c
stak.c
tak.c
takl.c
takr.c
tprint.c
traverse.c
triang.c
ld gngabriel ..
real 1m19.448s
user 1m15.610s
sys 0m2.660s
~/openlisp/cbench $ ./gngabriel ../contrib/gabriel.lsp
01Fib : ok, time = 0.001s. ( 0 GC)
02Tak : ok, time = 0.013s. ( 0 GC)
03Stak : ok, time = 0.060s. ( 0 GC)
04Ctak : ok, time = 0.258s. ( 0 GC)
05Takl : ok, time = 0.029s. ( 0 GC)
06Takr : ok, time = 0.040s. ( 0 GC)
07Boyer : ok, time = 0.219s. ( 2 GC)
08Browse : ok, time = 0.394s. ( 6 GC)
09Destru : ok, time = 0.049s. ( 1 GC)
10Travini : ok, time = 0.146s. ( 0 GC)
11Travrun : ok, time = 1.115s. ( 0 GC)
12Deriv : ok, time = 0.094s. ( 2 GC)
13Dderiv : ok, time = 0.121s. ( 2 GC)
14Divit : ok, time = 0.046s. ( 1 GC)
15Divrec : ok, time = 0.052s. ( 1 GC)
16FFT : ok, time = 0.214s. ( 0 GC)
17Puzzle : ok, time = 0.861s. ( 0 GC)
18Triang : ok, time = 1.459s. ( 0 GC)
19Fprint : ok, time = 0.011s. ( 0 GC)
20Fread : ok, time = 0.017s. ( 0 GC)
21Tprint : ok, time = 0.004s. ( 0 GC)
22Frpoly : ok, time = 0.639s. (13 GC)
5.843 s.
-----Original Message-----
From: Thomas Preud'homme [mailto:address@hidden
Sent: mercredi 6 février 2013 18:29
To: Christian JULLIEN; address@hidden
Subject: Re: [Tinycc-devel] Some benchmarks on RPi
Le mercredi 6 février 2013 13:13:11, Christian JULLIEN a écrit :
> Here are some benchmarks comparing tcc and gcc 4.7 on RPi.
>
> Benchmarks are taken from my OpenLisp tests suite.
> Source files for the bench consist of 15040 lignes of C code generated
> form compiler
Was gcc compiling in -O0? If yes, then that would be a nice result to forward
to Fabrice Bellard for the release :)
I'm especially surprise considering that compilation is often quite IO bound
AFAIK.
Thanks a lot for the results.
Tom
>
> Summary: tcc compiles x41 faster but runs program x3.37 slower
>
> == gcc
>
> 1) compile time
> address@hidden ~/openlisp/cbench $ time make gabriel.c boyer.c browse.c
> ctak.c dderiv.c deriv.c destru.c div2.c fft.c fib20.c fprint.c fread.c
> frpoly.c puzzle.c stak.c tak.c takl.c takr.c tprint.c traverse.c
> triang.c ld gngabriel ..
>
> real 5m38.279s
> user 5m32.040s
> sys 0m3.700s
>
> 2) run time
> address@hidden ~/openlisp/cbench $ ./gngabriel ../contrib/gabriel.lsp
> 01Fib : ok, time = 0.001s. ( 0
> GC) 02Tak : ok, time = 0.005s. (
> 0 GC) 03Stak : ok, time = 0.020s. ( 0
> GC) 04Ctak : ok, time = 0.211s. ( 0
> GC) 05Takl : ok, time = 0.021s. ( 0
> GC) 06Takr : ok, time = 0.021s. ( 0
> GC) 07Boyer : ok, time = 0.129s. ( 2 GC)
> 08Browse : ok, time = 0.266s. ( 6 GC)
> 09Destru : ok, time = 0.030s. ( 1 GC)
> 10Travini : ok, time = 0.079s. ( 0 GC)
> 11Travrun : ok, time = 0.892s. ( 0 GC)
> 12Deriv : ok, time = 0.070s. ( 2 GC)
> 13Dderiv : ok, time = 0.084s. ( 2 GC)
> 14Divit : ok, time = 0.035s. ( 1 GC)
> 15Divrec : ok, time = 0.036s. ( 1 GC)
> 16FFT : ok, time = 0.207s. ( 0
> GC) 17Puzzle : ok, time = 0.645s. ( 0 GC)
> 18Triang : ok, time = 0.796s. ( 0 GC)
> 19Fprint : ok, time = 0.013s. ( 0 GC)
> 20Fread : ok, time = 0.029s. ( 0 GC)
> 21Tprint : ok, time = 0.004s. ( 0 GC)
> 22Frpoly : ok, time = 0.561s. (13 GC)
> &nb
> sp; 4.154 s.
>
> == tcc
> 1) compile time
> address@hidden ~/openlisp-tinycc/cbench $ time make
> main.c
> gabriel.c
> boyer.c
> browse.c
> ctak.c
> dderiv.c
> deriv.c
> destru.c
> div2.c
> fft.c
> fib20.c
> fprint.c
> fread.c
> frpoly.c
> puzzle.c
> stak.c
> tak.c
> takl.c
> takr.c
> tprint.c
> traverse.c
> triang.c
> ld gngabriel ..
>
> real 0m8.182s
> user 0m6.510s
> sys 0m0.830s
>
> 2) run time
> address@hidden ~/openlisp-tinycc/cbench $ ./gngabriel ../contrib/gabriel.lsp
> 01Fib : ok, time = 0.002s. ( 0
> GC) 02Tak : ok, time = 0.022s. (
> 0 GC) 03Stak : ok, time = 0.129s. ( 0
> GC) 04Ctak : ok, time = 0.756s. ( 0
> GC) 05Takl : ok, time = 0.099s. ( 0
> GC) 06Takr : ok, time = 0.055s. ( 0
> GC) 07Boyer : ok, time = 0.507s. ( 2 GC)
> 08Browse : ok, time = 1.073s. ( 6 GC)
> 09Destru : ok, time = 0.146s. ( 1 GC)
> 10Travini : ok, time = 0.421s. ( 0 GC)
> 11Travrun : ok, time = 2.394s. ( 0 GC)
> 12Deriv : ok, time = 0.256s. ( 2 GC)
> 13Dderiv : ok, time = 0.285s. ( 2 GC)
> 14Divit : ok, time = 0.121s. ( 1 GC)
> 15Divrec : ok, time = 0.125s. ( 1 GC)
> 16FFT : ok, time = 0.794s. ( 0
> GC) 17Puzzle : ok, time = 1.601s. ( 0 GC)
> 18Triang : ok, time = 2.756s. ( 0 GC)
> 19Fprint : ok, time = 0.046s. ( 0 GC)
> 20Fread : ok, time = 0.065s. ( 0 GC)
> 21Tprint : ok, time = 0.019s. ( 0 GC)
> 22Frpoly : ok, time = 2.385s. (13 GC)
> &nb
> sp; 14.058 s.