jueves, 2 de diciembre de 2010

¿Python más rápido que C?

Entre los videos de las 6tas jornadas de Software Libre que mencioné en el último post, encontré este que me resultó muy interesante y divertido, a cargo de Facundo Batista (uno de los sospechosos de siempre en la comunidad Python local) en el que cuenta una serie de ejercicios desarrollados junto a Lucio Torre para comparar en contextos y situaciones diferentes los tiempos de ejecución de ambos lenguajes.

Sobre el inicio Facundo aclara que el código C fue escrito en todos los casos por Lucio y el código Python por él mismo, y ambos tienen aproximadamente el mismo nivel de experiencia y familiaridad con cada lenguaje. Cualquiera en la comunidad iría más allá y diría que ambos son reconocidos expertos en el suyo.

Obviamente hay mucho material para discutir (aún cuando no hay intento alguno de mostrar Python realmente más rápido que C en crudo), pero el objetivo de la charla es reflexionar sobre el proceso, y se habla bastante de la forma en que aplicamos diferentes niveles de optimización. De fondo, incluso, utilizar un lenguaje de bajo o alto nivel, uno estático o dinámico, suelen ser decisiones que optimizan tiempo de desarrollo/mantenimiento, o de ejecución.

La sesión es corta y divertida, así que la reproduzco aquí debajo, pero antes quiero replicar una frase que Facundo destaca en uno de los slides, y que coincide con algo en lo que insisto hace años, pero nunca había escuchado con esas palabras:

"Es más fácil optimizar código correcto que corregir código optimizado"

Disfruten el video: