L
larudwer
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
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