Python 2 times slower than Perl

Radovan Garabik spam at melkor.dnp.fmph.uniba.sk
Thu Jul 19 10:13:20 CEST 2001


Xu, C.S. <xucs007 at yahoo.com> wrote:
 : Just spent a little time to compare 4 stupid again algorithms
 : (changed a little bit from last time) for both python and perl
 : (codes attached) on two systems (SunOS and Linux):
 :        1. while loop, global variables
 :        2. for loop, global variables
 :        3. while loop, local variables (in function)
 :        4. for loop, local variables (in function)
 : I used `time [1234].p[yl]` to get the time info. The user time
 : is as follows:

 : PII 450MHz, Dell Precision 4100 Desktop, SunOS 5.8 i386
 :                #1      #2      #3      #4
 : Python 2.1a1:   5.1     3.1     4.5     2.7
 : Perl 5.005_03:  1.8     1.6     1.7     1.6


 : PIII 1GHz, MTech 8500 Notebook, i386 Linux (Mandrake 8.0, kernal 2.4)
 :                #1      #2      #3      #4
 : Python 2.0:     2.34    1.38    1.54    0.98
 : Perl 5.6.0:     0.95    1.22    0.95    1.21

 : The closest match is on Linux, 0.98 (python#4) vs. 0.95 (perl#1,#3).
 : Python still can't beat Perl, :-(  But I will continue to use Python
 : to do uncritical data analysis, :-)



 : P.S. Codes are:
 : ####################### 1.pl: while loop, global var #####################
 : #!/usr/bin/env perl
 : $i = 0;
 : $j = 0.;
 : while ($i < 1e6) {
 :        $j += $i * 2.5;
 :        $i++;
 : }
 : print $i, ' ', $j, "\n";

 : ####################### 1.py: while loop, global var #####################
 : #!/usr/bin/env python
 : i, j = 0, 0.
 : while i<1e6:
         ^^^^^
1e6 is a real number, this comparision has to coerce i to real number
better comparision would be with i<1000000
for me, it improved the time from 4.65s to 4.14s
and running with python -O cut it down to 3.92s
(now this I do not quite understand... I thought -O
 just removes docstrings, doesn't it?)

-- 
 -----------------------------------------------------------
| Radovan Garabik  http://melkor.dnp.fmph.uniba.sk/~garabik |
| __..--^^^--..__         garabik @ fmph . uniba . sk       |
 -----------------------------------------------------------
Antivirus alert: file .signature infected by signature virus.
Hi! I'm a signature virus! Copy me into your signature file to help me spread!



More information about the Python-list mailing list