Speed Comparison Perl Python & C

Bart Nessux bart_nessux at hotmail.com
Sun Feb 29 15:19:52 EST 2004


David Lees wrote:

> Bart Nessux wrote:
>> Just fooling around this weekend. Wrote and timed programs in C, Perl and
>> Python. Each Program counts to 1,000,000 and prints each number to the
>> console as it counts. I was a bit surprised. I'm not an expert C or Perl
>> programming expery, I'm most familiar with Python, but can use the others
>> as well.
>> 
>> Here are my results:
>> 
>> C = 23 seconds
>> Python = 26.5 seconds
>> Perl = 34.5 seconds
>> 
>> Here are the programs:
>> 
>> -------------------------
>> #The C version:
>> -------------------------
>> 
>> #include <stdio.h>
>> 
>> int main(void)
>> {
>> int x = 0;
>> while (x < 1000000) {
>>    printf("%d \n", x++);
>>    }
>> }
>> 
>> -------------------------
>> #The Python version:
>> -------------------------
>> 
>> #!/usr/bin/python
>> 
>> x = 0
>> while x < 1000000:
>>    x = x + 1
>>    print x
>> 
>> -------------------------
>> #The Perl version:
>> -------------------------
>> 
>> #!/usr/bin/perl -Tw
>> 
>> use strict;
>> 
>> my $x = 0;
>> while($x < 1000000) {
>>    print $x++, "\n";
>>    }
>> 
>> What do you guys think of this? I don't know enough about Perl & C, and
>> perhaps Python, to know if this was indeed a fair test. I thought C would
>> do this much faster than it did. Any ideas?
>> 
>> 
>> 
>> 
> I don't think your times have much to do with the languages.  They are
> just how long whatever I/O library is used by a particular language
> takes.  I would guess that the loop overhead is small compared with the
> I/O formatting and output times in your example.
> 
> You should do a Google search on 'Python+benchmarks'.  Benchmarking is
> tricky and you need to consider what you are trying to compare.
> 
> David Lees

Thanks, I was trying to do something very similar in each language. Just
wanted to see how fast they could do this, nothing more. I expected the
order of the results to be c, python and then perl, and I expected c to be
the *clear* winner. I don't know that much about programming... that's why
I have all these false notions in my head about speed.




More information about the Python-list mailing list