Richard Barrett wrote:
Maybe. However, I don't like python as on our old P60 server it burned up so much CPU time (15 s/min).

It would be interesting to see you present convincing evidence that Python runs slower than Perl which you seem happy to rely on.

That can be difficult as different programming languages are designed for different tasks so they all have their strengths and weaknesses. That also pretty much makes such a comparison senseless. It would e.g. be a good choice to make an mp3 encoder in C and my mailman exploit in perl and not the other way round. I would without doubt claim that C runs faster and many tasks are coded quicker in perl.
It is my impression that python is slow, at least it has a lengthy startup. It may still be suitable for certain tasks, however I have no idea which as I don't speak python. Mailman was run once per minute from cron on my old server. Maybe Mailman was coded inefficiently. However, I read it scales better than Majordomo, a perl program. That difference is probably a design issue rather than to blame on the programming language.


Anyways, since you asked for a benchmark, here is a quick start. These programs were run repeatedly so the perl interpreter was already loaded from disk and cached. The shortest run was picked to minimize interference from other processes.

Detected 735.005 MHz processor.
Calibrating delay loop... 1468.00 BogoMIPS
CPU: Intel Celeron (Coppermine) stepping 06

[EMAIL PROTECTED]:~/t$ time perl -e 'print "hello world\n";'
hello world

real    0m0.017s
user    0m0.000s
sys     0m0.010s

This shows the small overhead on perl startup.

[EMAIL PROTECTED]:~/t$ time perl -e 'for ($i=1;$i<=1000000;$i++) {print "$i: hello world\n";}' >/dev/null

real    0m2.147s
user    0m2.090s
sys     0m0.010s

A million string interpolations and file accesses in 2.1 s - not bad.


Compare this to C:


int main(void) { puts("hello world"); }

[EMAIL PROTECTED]:~/src/benchmark$ time ./hello
hello world

real    0m0.007s
user    0m0.000s
sys     0m0.000s


#include <stdio.h> int main(void) { int i; for (i=1;i<=1000000;i++) { printf("%d: hello world/n",i); } } //main

[EMAIL PROTECTED]:~/src/benchmark$ time ./1Mhello >/dev/null

real    0m1.007s
user    0m0.960s
sys     0m0.010s

Give some examples for python. I'll run them on my machine if you don't have a campareble one.

Sure, this benchmark sucks, but it's not completely bogus. Any ideas about some more serious benchmarks? Going towards the strengths of each language would be somehow unfair, so a rather complex problem may be best but also difficult to implement. OTOH picking the language that offers the most advantages for a given problem is the way to go.

Maybe dilettante springs to mind as a description that fits.

Your insults are getting boring.


Bernhard

--
Webspace; Low end Serverhousing ab 15 e, etc.: http://www.bksys.at
Linux Admin/Programmierer: http://bksys.at/bernhard/services.html


_______________________________________________ Mailman-Developers mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/mailman-developers

Reply via email to