La optimizacion

Solo disponible en BuenasTareas
  • Páginas : 3 (733 palabras )
  • Descarga(s) : 0
  • Publicado : 17 de febrero de 2011
Leer documento completo
Vista previa del texto
Introducción básica a la optimización
Cúando y cómo optimizar
Introducción
Este artículo trata de manera muy básica los aspectos fundamentales de la optimización del software. Es por ello que losprogramadores experimentados posiblemente conozcan ya todos estos conceptos. Aun así, nunca está de mas repasarlos ;-)
La optimización es un tema complejo, que tiene como objetivo maximizar laeficiencia temporal y espacial de los programas. Las técnicas usuales se basan en:
• Diseñar adecuadamente las aplicaciones.
Esto debería cumplirse para todo el software en general, pero es importantetener en cuenta que a mejor diseño, más facilidad y menos necesidad de optimización posterior.
• Elegir buenos algoritmos.
Hemos de estudiar qué algoritmos se adaptan mejor a las especificacionesdel problema a resolver. No sirve de nada realizar una excelente implementación de un algoritmo concreto si éste no es el más adecuado para nuestra tarea.
• Intentar exprimir todo el potencial delhardware utilizado.
Para ello es necesario un gran conocimiento del hardware y de las herramientas de programación usadas. Debemos estudiar cómo organizar nuestro código, para que a su vez el compiladorpueda generar código máquina de mayor calidad. En algunas ocasiones especiales merece la pena escribir nosotros mismos el código ensamblador, normalmente cuando se trata de hardware específico que elcompilador no suele saber aprovechar.
Por ejemplo, las extensiones MMX de Intel o 3dnow! de AMD no serán totalmente aprovechadas si no las programamos nosotros mismos, ya que los compiladores nosaben generar código MMX/3D Now! automáticamente.

Cómo elegir buenos algoritmos. Introducción al análisis de algoritmos.
La correcta elección del algoritmo que ha de resolver nuestro problema esfundamental. He aquí algunos conceptos básicos sobre algoritmos.
Los dos recursos críticos que consumen los algoritmos son el espacio(memoria) y el tiempo(velocidad). Siempre es preferible maximizar...
tracking img