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