duda de optimizacion

Francesc Alted faltet en pytables.org
Mar Abr 28 13:19:08 CEST 2009


A Tuesday 28 April 2009, Chema Cortes escrigué:
> Puede que con enteros y floats no haya diferencia al poder manejar
> "nativamente"; pero sí que se nota con enteros largos:
>
> timeit f2(2,10) --> 225 ns per loop
> timeit f2(2L,10)  --> 1.65 µs per loop
> timeit f2(int(2L),10)  --> 468 ns per loop

Pues un factor 7x es mucha diferencia, en efecto.  Sin embargo, en mi 
máquina (Intel Core2, Linux 64-bits) me sale:

In [59]: timeit f2(2,10)
10000000 loops, best of 3: 166 ns per loop

In [60]: timeit f2(2L,10)
1000000 loops, best of 3: 236 ns per loop

In [61]: timeit f2(2.,10)
1000000 loops, best of 3: 179 ns per loop

En mi viejo portátil (Intel Pentium4, Linux 32-bit) tengo:

In [32]: timeit f2(2,100)
100000 loops, best of 3: 948 ns per loop

In [33]: timeit f2(2L,100)
100000 loops, best of 3: 1.27 µs per loop

In [34]: timeit f2(2.,100)
1000000 loops, best of 3: 1.03 µs per loop

O sea, que la diferencia es más bien poca (i.e. menos del 40%, nada que 
ver con el factor 8x que te sale a ti).  En fin, que esto de las 
medidas parece ser un arte con más puntos oscuros de los debidos :-/

-- 
Francesc Alted

"One would expect people to feel threatened by the 'giant
brains or machines that think'.  In fact, the frightening
computer becomes less frightening if it is used only to
simulate a familiar noncomputer."

-- Edsger W. Dykstra
   "On the cruelty of really teaching computer science"
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





Más información sobre la lista de distribución Python-es