técnicas para la optimización Hay tres tipos de técnicas para la optimización de código en C:
técnicas Calcular con destino a técnicas relacionados con la memoria/técnicas de salida determinada entrada
técnicas con destino a Compute implican la computación el tiempo necesario para ejecutar operadores y funciones. técnicas en términos de computación incluyen:
de perfiles Inlining Loop desenrollar Loop jamming invariantes de bucle cálculo Loop inversión cola eliminación recursividad tabla de consulta
En los cálculos relacionados con la memoria, es necesario tener en cuenta la memoria que usa el programa El uso de la memoria de las partes inferiores de la jerarquía de memoria aumenta el tiempo de ejecución. Debe usar memoria desde el nivel apropiado mientras ejecuta programas.técnicas de memoria unida incluyen:
localidad de referencia Fila-Major abordar Padding reducción pérdidas de memoria
En entrada/salida (I/O) de optimización de encuadernado, los métodos de acceso secuencial y de acceso aleatorio se usan para reducir el tiempo requerido para recuperar información.
Una E/S con búfer es más rápida que una E/S sin búfer. Puede usar las funciones de lectura() y escritura() con buffers grandes. Puede usar mmap() para reducir el tiempo requerido para recuperar información. Mmap() mapea el espacio de direcciones del proceso con memoria o archivo compartido.
algunas técnicas de optimización más son:
minimizar el uso de variables globales en el programa.
Declara todas las funciones que no sean variables globales como estáticas dentro del archivo.
Utilice variables de tamaño de palabra como int y float en lugar de char, short y double.
Evite el uso de recursion.
Evite utilizar la función sqrt() ya que consume mucha CPU.
Utilice matrices unidimensionales.
No separe las funciones estrechamente relacionadas en archivos separados.
Use la función puts() en lugar de la función printf.
Utilice el acceso al archivo no formateado/binario en lugar del acceso al archivo formateado.
Utilice mallopt() si el compilador admite esta función para controlar la función malloc.
Utilice macros en lugar de funciones pequeñas para ahorrar tiempo de CPU.
¿Puede añadir información sobre el problema del dominio en el que está trabajando? – mch