Δημοσιεύτηκε: 07 Αύγ 2011, 00:03
από pmav99
Λοιπόν το benchmarking τελείωσε.

Παραθέτω τους καλύτερους χρόνους user από 5 τρεξίματα.

1liner
Κώδικας: Επιλογή όλων
real 0m0.058s
user 0m0.050s
sys 0m0.007s

2liner
Κώδικας: Επιλογή όλων
real 0m0.056s
user 0m0.043s
sys 0m0.010s

pyeuler (από εδώ)
Κώδικας: Επιλογή όλων
real 0m0.054s
user 0m0.040s
sys 0m0.010s

slow (το ισοδύναμο που έγραψα)
Κώδικας: Επιλογή όλων
real 0m0.063s
user 0m0.053s
sys 0m0.007s

C (η time όμως έβγαζε το warning "sh: pause: command not found" που δε ξέρω πως επηρεάζει την ταχύτητα εκτέλεσης).
Κώδικας: Επιλογή όλων
real 0m0.078s
user 0m0.070s
sys 0m0.007s


Πόρισμα. Η python είναι πιο γρήγορη από τη C!!! :P (μάλλον απλά ο κώδικας της c θέλει λίγη βελτιστοποίηση...)

Με το pypy τελικά δεν έτρεξα τον κώδικα, γιατί βγαίνει πολύ πιο αργή με την time. Δε ξέρω γιατί. Χρησιμοποιώντας το στάνταρ τρόπο σύγκρισης ταχύτητας εκτέλεσης της python (module timeit) η pypy είναι δύο φορές πιο γρήγορη από την κλασσική python (cpython) γεγονός αναμενόμενο όπου υπάρχουν for loops.

CPython : 10 loops, best of 3: 22 msec per loop
pypy : 100 loops, best of 3: 9.79 msec per loop