miércoles, 23 de mayo de 2012

Tecnicas de optimizacion


Tecnicas de Optimización:


Simpre que se implementa  cierto codigo ya sea para programacion para computo integrado o algun codigo esencial y de suma importancioa siempre se tiene que tener en cuenta variso factores:

1-. El tiempo de procesamiento de los datos
2-. Cantidad de memoria utilizada

En especial estas dos anteriores son muy importantes para lso diferentes circuitos integraods pos su baja memoria y su cpu.

y siempre es necesario estimar la entrada de datos del problema comunmente esto se le llama complejidad del problema.

La optimizacion o las tecnicas de la optimizacion son meramente diferentes tipos de herramientas  para resolver diferentes tipos de problemas complejos ya sea meramente de informatica o mejorar series de pasos o procesos para una mejor ejecución


Cuando es adecuado utilizar la optimización.

Varias de las veces el programador intenta realizar la optimizacion mientras esta codificando y esto esta meramente incorrecto ya que si es algo nuevo que realizarmo es realmente dificil que resulte algo bueno de la optimizacion sin antes conocer el problema o cierto algoritmo.

Lo primero que se tiene que realizar es crear el codigo o el algoritmo de tal manera que quede lo mas entendible para el programador y posteriormente realizar la optimización.

Existen diferentes tipos de herramientas que nos pueden ayudar a verificar la optimizacion  para realizar pruebas de combertura de codigo y de memoria que es lo mas importante para CPU integrados:

GNU Cov: http://www.sunsite.ualberta.ca/Documentation/Gnu/gcc-3.0.2/html_node/gcc_133.html#SEC133
GNU Prof:http://projects.gnome.org/memprof/
Memprof: http://projects.gnome.org/memprof/

Posteriormente de esto podemos utilizar varias tecnicas para optimizar:



1-. Eliminar codigo inecesario
2-. Evitar los bluces lo mayot posible
3-.  Optimizar el acceso a la memoria (importante para los TLC o CPU integrados)
4-.Identificar partes del codigo mas pesado y enfocarse en esas partes del codigo

Ventajas de la Optimización:



Una de las primeras ventajas es que mejora considerablemente el codigo y al hora de ejecutarlo.

En caso de los integrados:

1- Mejora el tiempo de oscilacion del reloj
2-. Es mas eficiente al entrar la memoria
3-. Ocurren menos fallas.


Aqui una imagen o una grafica de como se puede manejar la optimizacion dependiendo del problema:



Referencias:
http://www.tufuncion.com/optimizar-codigo
http://msdn.microsoft.com/es-es/library/xz7ttk5s(v=vs.80).aspx






1 comentario: