Python vs C, interpretado vs compilado, etc.

Oswaldo Hernández listas en soft-com.es
Jue Ene 15 15:37:51 CET 2009


Vicent escribió:
> Hola a todos.
> 
> Soy todavía nuevo en Python. Pretendo utilizarlo para programar algoritmos
> científicos, con gran intensidad de cálculos, etc. Tengo claro que
> utilizaría numPy, SciPy y, en general, otros módulos recomendados dentro del
> ámbito científico (en concreto, me parece muy interesante la distribución
> Python(x,y)).
> 
> Pero...
> 
> Frente a lenguajes como C, dentro del ámbito científico, Python parece estar
> en desventaja (dicen), en el momento de la EJECUCIÓN. ¿Es así?
> 

La mayor parte de las librerias que utiliza python están escritas en C por lo que no deberia haber 
mucha diferencia en el tiempo de ejecución.

> [Hablo del momento de la ejecución, ya que probablemente sea más "bonito",
> agradable, fácil, rápido, eficiente, etc. escribir y leer código en Python
> que en C.]
> 

Esto tienes que evaluarlo tu, si la diferencia de velocidad de proceso te compensa el mayor tiempo 
del desarrollo (compilacion, depuración de errores, etc) que vas a necesitar en C.

> ¿Se puede "compilar" un programa hecho en Python? ¿Se puede hacer un
> ejecutable .EXE fácilmente, a partir de un programa Python (que pueda
> "correr" en una máquina donde NO esté instalado Python, por ejemplo)? ¿Se
> suele hacer? ¿Sería entonces el ejecutable .EXE igual de eficiente, tanto si
> el "origen" era Python como si era C?
> 

Py2exe te genera un archivo exe y todas sus dependencias. Simplemente lo copias en la maquina 
destino y a funcionar.

Sobre si esto va a mejorar el rendimiento la respuesta es no. Py2exe no traduce python a C ni a 
codigo maquina, simplementa 'compila' los archivos .py a .pyo y los empaqueta junto con las 
librerias necesarias para facilitar la distribucion del programa.


Saludos,

-- 
*****************************************
Oswaldo Hernández
oswaldo (@) soft-com (.) es
*****************************************
PD:
Antes de imprimir este mensaje, asegúrese de que es necesario.
El medio ambiente está en nuestra mano.
_______________________________________________
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