]> Cypherpunks repositories - gostls13.git/commitdiff
new timing data after compiler updates (fp regs, integer div and mod)
authorRob Pike <r@golang.org>
Tue, 11 Aug 2009 00:04:59 +0000 (17:04 -0700)
committerRob Pike <r@golang.org>
Tue, 11 Aug 2009 00:04:59 +0000 (17:04 -0700)
R=rsc
DELTA=90  (90 added, 0 deleted, 0 changed)
OCL=32993
CL=33001

test/bench/timing.log

index 3df6714dfd1581f59638c56ab75059453e1d64b1..e73d061b19afd0f7e6176d251886fbd4fc250b0f 100644 (file)
@@ -141,3 +141,93 @@ threadring 50000000
 chameneos 6000000
        gcc -O2 chameneosredux.c -lpthread      18.14u 276.52s 76.93r
        gc chameneosredux       20.19u 0.01s 20.23r
+
+Aug 10 2009
+
+# new 6g with better fp registers, fast div and mod of integers
+# complete set of timings listed. significant changes marked ***
+
+fasta -n 25000000
+       # probably I/O library inefficiencies
+       gcc -O2 fasta.c 5.96u 0.00s 5.97r
+       gc fasta        10.59u 0.01s 10.61r
+       gc_B fasta      9.92u 0.02s 9.95r
+
+reverse-complement < output-of-fasta-25000000
+       # we don't know - memory cache behavior?
+       gcc -O2 reverse-complement.c    1.96u 1.56s 16.23r
+       gccgo -O2 reverse-complement.go 6.41u 0.62s 7.05r
+       gc reverse-complement   6.46u 0.70s 7.17r
+       gc_B reverse-complement 6.22u 0.72s 6.95r
+
+nbody 50000000
+       # math.Sqrt needs to be in assembly; inlining is probably the other 50%
+       gcc -O2 nbody.c 21.26u 0.01s 21.28r
+       gccgo -O2 nbody.go      116.68u 0.07s 116.80r
+       gc nbody        86.64u 0.01s 86.68r     # -14%
+       gc_B nbody      85.72u 0.02s 85.77r     # *** -17%
+
+binary-tree 15 # too slow to use 20
+       # memory allocation and garbage collection
+       gcc -O2 binary-tree.c -lm       0.87u 0.00s 0.87r
+       gccgo -O2 binary-tree.go        1.61u 0.47s 2.09r
+       gccgo -O2 binary-tree-freelist.go       0.00u 0.00s 0.01r
+       gc binary-tree  9.11u 0.01s 9.13r       # *** -5%
+       gc binary-tree-freelist 0.47u 0.01s 0.48r
+
+fannkuch 12
+       # bounds checking is half the difference
+       # rest might be registerization
+       gcc -O2 fannkuch.c      59.92u 0.00s 59.94r
+       gccgo -O2 fannkuch.go   65.54u 0.00s 65.58r
+       gc fannkuch     123.98u 0.01s 124.04r
+       gc_B fannkuch   90.75u 0.00s 90.78r
+
+regex-dna 100000
+       # regexp code is slow on trivial regexp
+       gcc -O2 regex-dna.c -lpcre      0.91u 0.00s 0.92r
+       gc regex-dna    27.25u 0.02s 27.28r
+       gc_B regex-dna  29.51u 0.03s 29.55r
+
+spectral-norm 5500
+       # possibly inline evalA
+       gcc -O2 spectral-norm.c -lm     11.57u 0.00s 11.57r
+       gccgo -O2 spectral-norm.go      12.07u 0.01s 12.08r
+       gc spectral-norm        23.99u 0.00s 24.00r
+       gc_B spectral-norm      23.73u 0.00s 23.75r
+
+k-nucleotide 1000000
+       # string maps are slower than glib string maps
+       gcc -O2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include k-nucleotide.c -lglib-2.0   10.63u 0.02s 10.69r
+       gccgo -O2 k-nucleotide.go       23.19u 0.91s 24.12r
+       gc k-nucleotide 16.73u 0.04s 16.78r     # *** +5% (but this one seems to vary by more than that)
+       gc_B k-nucleotide       16.46u 0.04s 16.51r     # *** +5%
+
+mandelbrot 16000
+       gcc -O2 mandelbrot.c    56.16u 0.00s 56.16r
+       gccgo -O2 mandelbrot.go 57.41u 0.01s 57.42r
+       gc mandelbrot   64.05u 0.02s 64.08r     # *** -14%
+       gc_B mandelbrot 64.10u 0.02s 64.14r     # *** -14%
+
+meteor 16000
+       # we don't know
+       gcc -O2 meteor-contest.c        0.10u 0.00s 0.10r
+       gccgo -O2 meteor-contest.go     0.12u 0.00s 0.12r
+       gc meteor-contest       0.18u 0.00s 0.20r       # *** -25%
+       gc_B meteor-contest     0.17u 0.00s 0.18r       # *** -24%
+
+pidigits 10000
+       # bignum is slower than gmp
+       gcc -O2 pidigits.c -lgmp        2.57u 0.00s 2.57r
+       gc pidigits     71.82u 0.04s 71.89r
+       gc_B pidigits   71.84u 0.08s 71.98r
+
+threadring 50000000
+       gcc -O2 threadring.c -lpthread  30.91u 164.33s 204.57r
+       gccgo -O2 threadring.go 87.12u 460.04s 447.61r
+       gc threadring   38.55u 0.00s 38.56r     # *** +16%
+
+chameneos 6000000
+       gcc -O2 chameneosredux.c -lpthread      17.93u 323.65s 88.47r
+       gc chameneosredux       21.72u 0.00s 21.73r
+