por explorer » 2007-06-05 15:31 @688
- Cambiar el ordenador por uno más rápido
- Cambiar la red por una más rápida
- Usar las opciones de profiling de Perl para saber cuáles son las partes más lentas. Se corre con perl -d:DProf programa.pl. Más información en Google buscando por las palabras profiling y Perl.
- Depende un poco de si los programas duran mucho tiempo o no. En el segundo caso hay que atacar la parte de carga de los módulos, mientras que en el primer caso, hay que hacer profiling y probar diversas opciones.
- Hay algunos trucos para aumentar la velocidad de un programa: * Cargar sólo las funciones de los módulos que realmente necesitemos y no importar todo su espacio de nombres. * Usar el método de Autoload para que las funciones estén disponibles a medida de que se necesiten (hay módulos que ayudan a esto).
- También depende del tipo de dato que se maneje. No es lo mismo tratar strings, que bases de datos que ficheros en binario directamente.
- Y el tamaño. El problema puede decir que hay que procesar un fichero de texto, pero al descubrir que ese fichero ocupa 300Mb, su tratamiento puede ser muy distinta de lo pensado al principio.
- A veces, cambiar un módulo por otro da el resultado buscado. Por ejemplo, cambiar el sistema de relleno de hojas de cálculo Excel con Win32::OLE por Spreadsheet::WriteExcel permite que el programa sea trasladado desde un Windows a un Linux, con lo que las prestaciones aumentan en varias unidades de potencia.
- El sistema operativo influye mucho, sobre todo cuando Perl necesita reservar muchos elementos en memoria de pequeño tamaño, como cuando se manejan hashes o arrays con referencias a otras estructuras. Si se agota la memoria, el sistema necesitará recuperar esas zonas, pero según sea ese sistema operativo se negará a hacerlo o no.
- Ampliar la memoria del ordenador puede ser un plus. Hay que ver la evolución de la memoria consumida a lo largo de la ejecución del programa. Si la memoria se agota, el sistema operativo empieza a usar la memoria de intercambio, con lo que se degrada mucho su rendimiento final.
- ...
Última edición por
explorer el 2007-06-06 04:44 @239, editado 1 vez en total
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES