[pyar] Análisis sobre charla "Python más rápido que C"

Fernando Pelliccioni fpelliccioni en gmail.com
Mar Abr 29 22:55:25 ART 2014


Bueno, justamente el código escrito, tanto en C como en Python esta hecho
para beneficiar al segundo.
Obvio que no tiene sentido que el compilador C elimine todo el código, ya
que no es un caso real.

A lo que queria apuntar, veo que me equivoque en como expresarlo ya que
nadie lo entendió, es justamente eso, no refleja la realidad.
¿Conocen algún caso real donde se ejecute 100.000 veces la MISMA
multiplicación?

Si el objetivo es medir cuando se tarda en hacer una multiplicación, lo que
se tiene que hacer es generar datos aleatorios, sin usar IO, para evitar
que el tiempo de la multiplicación se amortize y se pierda en una tarea
mucho mas costosa como lo es IO.

Tan simple como eso muchachos, no hagamos siempre la misma multiplicación,
para evitar optimizaciones sin sentido en la vida real. Tanto en Python
como en C.
Es más, si con el resultado de la multiplicación no hacemos nada, el
compilador también va a descartar la operación (un interprete de un
lenguaje dinámico también debería hacerlo) ya que es código que en
definitiva ... NO HACE NADA!!!!!

Los invito a mejorar el código Python y ejecutarlo con su interprete de
preferencia.




2014-04-29 22:18 GMT-03:00 Ezequiel Brizuela [aka EHB or qlixed] <
qlixed en gmail.com>:

> Tratando de tomar esto con la mayor seriedad y respeto posible mul_100 es
> una clara forma de demostrar dos approachs distintos de optimizacion:
> compile time (o static opt) vs run time ( o dynamic opt).
> Mientras q del lado del compilador podes convertirlo en pseudocero
> instrucciones con caracteristicas del lenguaje y flags del compilador,
> python usa la opt dinamica dada por la cache y otras caracteristicas
> dependiente de la cpu, por ej. branch prediction, pipelining, microcode
> cache y opcode cpi optimization.
> Todo esto obviamente tambien esta disponible en el caso del compilador,
> Pero este ejemplo en particular tiene un efecto colateral que terkina
> siendo agradable: ver como una opt dinamica puede o no igualar y/o superar
> a la opt estatica.
> No se si fue o no la idea original, pero yo no lo veo invalido o
> incorrecto.
>
> ~EHB~
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140429/bd21a333/attachment.html>


More information about the pyar mailing list