psyco V2 beta2 benchmark

larudwer larudwer at freenet.de
Sat Jul 4 08:26:27 EDT 2009


just out of curiosity i've downloaded the latest Version of Psyco V2 Beta 2 
and run the benchmarks against the old Version of psyco 1.6

Because it might be of common interest, i am posting the results here.

My machine is a Pentium D 3.2 Ghz running Windows XP SP 3 and Python 2.6.2.
Psyco V2 was built with 4.3.3-tdm-1 mingw32 with optimisation flags changed 
to -O3


Benchmark                                 | avg. Base time | psyco 1.6 time 
| psyco 2.0 time | ratio     | possible error +-
time_anyall all_bool_genexp               | 2.270          | 2.250 
| 2.420          | 0.930     | 8.3 %
time_anyall all_bool_listcomp             | 3.450          | 1.900 
| 1.910          | 0.995     | 0.0 %
time_anyall all_genexp                    | 1.970          | 1.940 
| 2.160          | 0.898     | 9.6 %
time_anyall all_listcomp                  | 3.485          | 1.660 
| 1.660          | 1.000     | 1.4 %
time_anyall all_loop                      | 0.665          | 0.090 
| 0.090          | 1.000     | 4.4 %
time_anyall any_bool_genexp               | 2.215          | 2.130 
| 2.340          | 0.910     | 10.0 %
time_anyall any_bool_listcomp             | 3.620          | 1.930 
| 1.940          | 0.995     | 9.0 %
time_anyall any_genexp                    | 1.985          | 1.920 
| 2.180          | 0.881     | 10.1 %
time_anyall any_listcomp                  | 3.360          | 1.680 
| 1.680          | 1.000     | 8.0 %
time_anyall any_loop                      | 0.660          | 0.090 
| 0.090          | 1.000     | 3.0 %
time_builtins chr(i)                      | 2.420          | 0.010 
| 0.010          | 1.000     | 0.0 %
time_builtins hash(i)                     | 1.280          | 0.370 
| 0.080          | 4.625     | 8.1 %
time_builtins int(round(f))               | 2.635          | 1.510 
| 1.120          | 1.348     | 0.4 %
time_builtins min                         | 0.535          | 0.520 
| 0.120          | 4.333     | 1.9 %
time_builtins min_kw                      | 4.430          | 4.400 
| 0.160          | 27.500    | 0.5 %
time_builtins ord(i)                      | 0.320          | 0.000 
| 0.000          | 1.000     | 6.5 %
time_builtins pow                         | 0.345          | 0.230 
| 0.150          | 1.533     | 2.9 %
time_builtins reduce                      | 0.735          | 0.710 
| 0.020          | 35.498    | 1.4 %
time_builtins round(f)                    | 1.720          | 0.890 
| 0.400          | 2.225     | 1.2 %
time_builtins sums                        | 0.180          | 0.180 
| 0.100          | 1.800     | 0.0 %
time_fib matrix                           | 0.425          | 0.360 
| 0.360          | 1.000     | 2.3 %
time_fib recursive                        | 0.000          | 0.000 
| 0.000          | 1.000     | 0.0 %
time_fib takahashi                        | 0.410          | 0.320 
| 0.330          | 0.970     | 0.0 %
time_generators call next just many times | 0.900          | 0.630 
| 0.970          | 0.649     | 4.3 %
time_generators iterate just many times   | 0.660          | 0.550 
| 0.950          | 0.579     | 3.1 %
time_generators send and loop 1000        | 2.805          | 2.540 
| 0.060          | 42.333    | 9.8 %
time_generators send call loop 1000       | 2.505          | 2.940 
| 0.060          | 48.999    | 10.9 %
time_generators send just many times      | 1.280          | 0.590 
| 0.980          | 0.602     | 3.1 %
time_iter iter                            | 1.490          | 0.590 
| 0.440          | 1.341     | 5.5 %
time_math floats                          | 2.910          | 1.500 
| 1.630          | 0.920     | 0.7 %
time_properties method_get                | 0.935          | 0.120 
| 0.130          | 0.923     | 1.1 %
time_properties method_set                | 1.005          | 0.170 
| 0.180          | 0.944     | 1.0 %
time_properties property_get              | 0.960          | 0.740 
| 0.100          | 7.400     | 2.1 %
time_properties property_set              | 1.020          | 0.920 
| 0.930          | 0.989     | 0.0 %
time_properties pyproperty_get            | 1.535          | 1.310 
| 0.140          | 9.357     | 0.7 %
time_properties pyproperty_set            | 1.030          | 0.920 
| 0.930          | 0.989     | 2.0 %
time_subdist subdist(i)                   | 3.665          | 1.640 
| 6.140          | 0.267     | 0.8 %
time_sums rounding                        | 0.800          | 0.790 
| 0.810          | 0.975     | 2.5 %


Running new timings with 
C:\Programme\GNU\python26\lib\site-packages\psyco\_psyco.pyd Sat Jul 04 
12:09:07 2009

time_anyall    : all_bool_genexp                plain:   2.36     psyco: 
2.42     ratio:  0.97
time_anyall    : all_bool_listcomp              plain:   3.45     psyco: 
1.91     ratio:  1.80
time_anyall    : all_genexp                     plain:   2.06     psyco: 
2.16     ratio:  0.95
time_anyall    : all_listcomp                   plain:   3.51     psyco: 
1.66     ratio:  2.11
time_anyall    : all_loop                       plain:   0.65     psyco: 
0.09     ratio:  7.03
time_anyall    : any_bool_genexp                plain:   2.32     psyco: 
2.34     ratio:  0.99
time_anyall    : any_bool_listcomp              plain:   3.45     psyco: 
1.94     ratio:  1.78
time_anyall    : any_genexp                     plain:   2.08     psyco: 
2.18     ratio:  0.96
time_anyall    : any_listcomp                   plain:   3.49     psyco: 
1.68     ratio:  2.08
time_anyall    : any_loop                       plain:   0.65     psyco: 
0.09     ratio:  7.05
time_builtins  : chr(i)                         plain:   2.42     psyco: 
0.01     ratio: 197.40
time_builtins  : hash(i)                        plain:   1.33     psyco: 
0.08     ratio: 17.69
time_builtins  : int(round(f))                  plain:   2.63     psyco: 
1.12     ratio:  2.36
time_builtins  : min                            plain:   0.53     psyco: 
0.12     ratio:  4.28
time_builtins  : min_kw                         plain:   4.44     psyco: 
0.16     ratio: 28.58
time_builtins  : ord(i)                         plain:   0.33     psyco: 
0.00     ratio: 123.57
time_builtins  : pow                            plain:   0.34     psyco: 
0.15     ratio:  2.24
time_builtins  : reduce                         plain:   0.74     psyco: 
0.02     ratio: 40.93
time_builtins  : round(f)                       plain:   1.73     psyco: 
0.40     ratio:  4.38
time_builtins  : sums                           plain:   0.18     psyco: 
0.10     ratio:  1.80
time_fib       : matrix                         plain:   0.42     psyco: 
0.36     ratio:  1.18
time_fib       : recursive                      plain:   0.00     psyco: 
0.00     ratio: 19.45
time_fib       : takahashi                      plain:   0.41     psyco: 
0.33     ratio:  1.25
time_generators: send call loop 1000            plain:   2.36     psyco: 
0.06     ratio: 41.30
time_generators: send and loop 1000             plain:   2.66     psyco: 
0.06     ratio: 46.69
time_generators: send just many times           plain:   1.26     psyco: 
0.98     ratio:  1.29
time_generators: iterate just many times        plain:   0.67     psyco: 
0.95     ratio:  0.70
time_generators: call next just many times      plain:   0.88     psyco: 
0.97     ratio:  0.91
time_iter      : iter                           plain:   1.53     psyco: 
0.44     ratio:  3.47
time_math      : floats                         plain:   2.90     psyco: 
1.63     ratio:  1.78
time_properties: method_get                     plain:   0.93     psyco: 
0.13     ratio:  7.22
time_properties: method_set                     plain:   1.00     psyco: 
0.18     ratio:  5.61
time_properties: property_get                   plain:   0.95     psyco: 
0.10     ratio:  9.26
time_properties: property_set                   plain:   1.02     psyco: 
0.93     ratio:  1.09
time_properties: pyproperty_get                 plain:   1.54     psyco: 
0.14     ratio: 10.80
time_properties: pyproperty_set                 plain:   1.04     psyco: 
0.93     ratio:  1.12
time_subdist   : subdist(i)                     plain:   3.68     psyco: 
6.14     ratio:  0.60
time_sums      : rounding                       plain:   0.79     psyco: 
0.81     ratio:  0.98


Running new timings with original psyco

time_anyall    : all_bool_genexp                plain:   2.18     psyco: 
2.25     ratio:  0.97
time_anyall    : all_bool_listcomp              plain:   3.45     psyco: 
1.90     ratio:  1.82
time_anyall    : all_genexp                     plain:   1.88     psyco: 
1.94     ratio:  0.97
time_anyall    : all_listcomp                   plain:   3.46     psyco: 
1.66     ratio:  2.09
time_anyall    : all_loop                       plain:   0.68     psyco: 
0.09     ratio:  7.34
time_anyall    : any_bool_genexp                plain:   2.11     psyco: 
2.13     ratio:  0.99
time_anyall    : any_bool_listcomp              plain:   3.79     psyco: 
1.93     ratio:  1.96
time_anyall    : any_genexp                     plain:   1.89     psyco: 
1.92     ratio:  0.98
time_anyall    : any_listcomp                   plain:   3.23     psyco: 
1.68     ratio:  1.92
time_anyall    : any_loop                       plain:   0.67     psyco: 
0.09     ratio:  7.26
time_builtins  : chr(i)                         plain:   2.42     psyco: 
0.01     ratio: 197.10
time_builtins  : hash(i)                        plain:   1.23     psyco: 
0.37     ratio:  3.30
time_builtins  : int(round(f))                  plain:   2.64     psyco: 
1.51     ratio:  1.75
time_builtins  : min                            plain:   0.54     psyco: 
0.52     ratio:  1.03
time_builtins  : min_kw                         plain:   4.42     psyco: 
4.40     ratio:  1.00
time_builtins  : ord(i)                         plain:   0.31     psyco: 
0.00     ratio: 116.56
time_builtins  : pow                            plain:   0.35     psyco: 
0.23     ratio:  1.50
time_builtins  : reduce                         plain:   0.73     psyco: 
0.71     ratio:  1.03
time_builtins  : round(f)                       plain:   1.71     psyco: 
0.89     ratio:  1.91
time_builtins  : sums                           plain:   0.18     psyco: 
0.18     ratio:  1.03
time_fib       : matrix                         plain:   0.43     psyco: 
0.36     ratio:  1.19
time_fib       : recursive                      plain:   0.00     psyco: 
0.00     ratio: 19.28
time_fib       : takahashi                      plain:   0.41     psyco: 
0.32     ratio:  1.27
time_generators: send call loop 1000            plain:   2.65     psyco: 
2.94     ratio:  0.90
time_generators: send and loop 1000             plain:   2.95     psyco: 
2.54     ratio:  1.16
time_generators: send just many times           plain:   1.30     psyco: 
0.59     ratio:  2.23
time_generators: iterate just many times        plain:   0.65     psyco: 
0.55     ratio:  1.17
time_generators: call next just many times      plain:   0.92     psyco: 
0.63     ratio:  1.45
time_iter      : iter                           plain:   1.45     psyco: 
0.59     ratio:  2.47
time_math      : floats                         plain:   2.92     psyco: 
1.50     ratio:  1.95
time_properties: method_get                     plain:   0.94     psyco: 
0.12     ratio:  7.88
time_properties: method_set                     plain:   1.01     psyco: 
0.17     ratio:  6.08
time_properties: property_get                   plain:   0.97     psyco: 
0.74     ratio:  1.31
time_properties: property_set                   plain:   1.02     psyco: 
0.92     ratio:  1.12
time_properties: pyproperty_get                 plain:   1.53     psyco: 
1.31     ratio:  1.17
time_properties: pyproperty_set                 plain:   1.02     psyco: 
0.92     ratio:  1.11
time_subdist   : subdist(i)                     plain:   3.65     psyco: 
1.64     ratio:  2.23
time_sums      : rounding                       plain:   0.81     psyco: 
0.79     ratio:  1.03






More information about the Python-list mailing list