Comparativa de lenguajes II

Vamos ahora a realizar cálculos matemáticos más complejos, multiplicaciones y divisiones. Para ello calcularemos números de Fibonacci a partir de su formula explicita a partir del número aúreo.
(Ver http://es.wikipedia.org/wiki/Sucesi%C3%B3n_de_Fibonacci)

El tiempo que mostramos es el que le cuesta en mostrar los 100 primeros números de Fibonacci (antes solo mostrabamos 33) 1000 veces...

Tiempos

C:
real 0m5.225s
user 0m0.364s
sys 0m0.840s

Ruby:
real 0m5.381s
user 0m2.076s
sys 0m0.584s

Python:
real 0m5.165s
user 0m1.360s
sys 0m0.520s

Perl:
real 0m5.371s
user 0m0.740s
sys 0m0.560s


Los tres lenguajes son muy parecidos, los tiempos cambian de una simulación a otra, destacando perl.
El formato de salida cambia. El ultimo valor es:
python 2.18922995835e+20
ruby 2.18922995834556e+20
perl 2.18922995834556e+20
C 218922995834555793408.000000
Ahi vemos el truco de python, menos precisión.
De todas maneras ocurre algo interesante, para los primeros términos la formula da valores aproximados (con decimales) mientras que debían ser enteros. Cosas de la representación finita...

No hay comentarios: