De sempre he preferit els llenguatges fortament tipats i compilats, i per això m’he començat a mirar Rust. Però com ja he comentat altres vegades, Python és el meu llenguatge de programació si puc triar.
Python té moltes virtuts, però la velocitat no n’és una. He programat en Python i Rust el càlcul de pi amb cent milions de sumands de la sèrie de Leibniz (que convergeix molt lentament, però és un monument a l’elegància matemàtica).
El codi Python:
#!/usr/local/bin/python3
# -*- coding: iso-8859-15 -*-
piq = 0.0
n = 0.0
while n < 100000000.0:
piq += 1.0/(2.0*n+1.0)
piq -= 1.0/(2.0*(n+1.0)+1.0)
n += 2.0
print(f"El valor aproximat de PI és {4.0*piq}.")
I el codi Rust:
fn main(){
let mut piq = 0.0;
let mut n = 0.0;
while n < 100000000.0 {
piq += 1.0/(2.0*n+1.0);
piq -= 1.0/(2.0*(n+1.0)+1.0);
n += 2.0;
}
println! ("El valor aproximat de PI és {}.", 4.0*piq);
}
Diferències de temps: al voltant de mig segon amb Rust i 17 segons amb Python.
Ah, el resultat és el mateix en ambdós casos, 3,141592643589326 (només els 7 primers decimals correctes).