Tecnología

Inicio

Cómo comparar los algoritmos informáticos

Los desarrolladores de software equilibrar muchos factores en la construcción de aplicaciones y sitios web. En los primeros días, cuando los ordenadores tenían poco almacenamiento y recursos, el tamaño y la velocidad fueron las principales preocupaciones. Hoy en día, con los procesadores de varios núcleos y gigabytes de memoria, complejidad y capacidad de mantenimiento a menudo anula el rendimiento. Éstos son algunos de los factores principales a considerar al elegir los algoritmos adecuados para su proyecto.

Instrucciones

1 Medir el rendimiento. El primer factor que siempre viene a la mente cuando se mide un algoritmo es la velocidad. Nadie quiere esperar a que el software lento. Hay varias formas de determinar qué algoritmo llevará a cabo mejor para la tarea en cuestión. Un algoritmo se puede medir de forma manual mediante el recuento instrucciones, el uso de probabilidades para determinar las rutas de ejecución. Más fácil todavía son perfiladores que cuentan los ciclos de máquina como el código se ejecuta.

2 Comparar el tamaño del código. Aunque no es tan importante como el rendimiento, el tamaño del código a veces se convierte en un factor. El software integrado y las aplicaciones móviles a menudo necesitan compartir la memoria limitada, y el código basado en el navegador necesita tiempo para descargar. A veces un pequeño golpe en el rendimiento puede ser sacrificado a afeitarse una cantidad significativa de código.

3 Determinar el nivel de complejidad. La mayoría de los desarrolladores de software comercial escribir código desplegado en PCs de escritorio o servidores web con un montón de potencia de procesamiento y más de suficiente memoria. Hoy en día, el mayor desafío es la gestión de la complejidad. Una aplicación de negocio bastante simple a menudo puede tener desde unas pocas docenas a varios cientos de módulos de código, cada uno con varios cientos de líneas de código. En estas aplicaciones, los mejores algoritmos son fáciles de entender y fácil de implementar. Para medir la complejidad, contar el número de puntos de decisión, llamadas de función, número de variables y la complejidad de las estructuras de datos.

4 Comparación de mantenimiento. Estrechamente unido a la complejidad es el mantenimiento. Es un algoritmo con menos complejidad, presentado con un montón de espacio en blanco y liberalmente rociado con comentarios bien escritos, será mucho más fácil de modificar cuando cambian los requisitos. La mayoría de los desarrolladores pasan mucho más tiempo mantener y modificar el código existente que ellos la creación de un nuevo software.

5 Validar la corrección. A menudo se pasa por alto en un análisis de algoritmos es la necesidad de un algoritmo apropiado que cumpla con todos los requisitos y funciona correctamente. El código debe devolver resultados exactos para entradas incluyendo condiciones de contorno y valores inesperados. Los filtros deben estar en su lugar para rechazar los malos datos, y el código de control de excepciones deben responder a los desbordamientos numéricos, underflows, fallos en la red u otras condiciones.

6 Elige el algoritmo más apropiado. La mejor opción equilibra todos estos factores de una manera que maximiza el rendimiento y reducir al mínimo el costo del desarrollo y la propiedad.