Optimizacion de recursos.

Hernan Martínez Foffani hernan en orgmf.com.ar
Sab Mayo 8 19:21:25 CEST 2004


Aldo Hugo Vargas Rodriguez
> ...
> Bueno en concreto por que ya estoy hablando como perico jejejeje.
> ¿Puedo optimizar las llamadas de os.system y el
> commands.getstatusotput para bajar el uso del CPU? ¿Si actualizo el
> python en su versión más nueva y tendre alguna mejoría?
>
> que me recomiendan ustedes si no puedo optimizar el uso de estos
> recursos????

Son solo ideas (habría que conocer bien los detalles del problema)
podrías pensar en:
 - enlazar (link) el python y los programas en C en una sola
   aplicación.  te evitas la creación de procesos.
 - hacer un servidor de aplicación con los servicios en C.  usa
   un protocolo adhoc para que el python y los servicios en C se
   comuniquen entre si.

Pero lo importante es que establezcas sin ninguna duda *exactamente*
qué parte de tu sistema es la que consume los recursos.

Mi receta para estos problemas suele ser siempre la misma:
 1. Establece tu cota de calidad (¿cuánto de lento es lo aceptable?)
 2. Mide tiempos.
 3. Haz un ranking con los mas lentos primero.
 4. De los mas lentos elige los mas *baratos* (en horas/H y en
    impacto sobre el resto del sistema) para optimizar.
 5. Elije el que creas tiene mejor cociente %mejora_T / esfuerzo
 5. Optimizalo.
 6. Repite desde el 2 si supera la cota establecida en 1.
 7. Si llegaste al 7 apaga el ordenador y vete a tomar
    unas birras. ;-)

El "ente" (sea proceso, metodo, algoritmo, objeto, etc.) que
optimices tiene que ser *medible*.

Usando esta receta podría aventurar que actualizar el python es
muy barato pero no deja de ser un tiro a ciegas.  (Sin embargo,
tiene la ventaja añadida que te pones "a la par" de buena parte
de la comunidad lo que no deja de ser una ventaja apreciable en
cuanto a soporte.)

Saludetes,
-H.

... Umpf.... escribi mucho y dije poco...




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