Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Técnicas para mejorar el rendimiento

Para acelerar el rendimiento del código, tenga en cuenta estas técnicas.

Ambiente

Tenga en cuenta los procesos en segundo plano que comparten recursos computacionales y disminuyen el rendimiento del código.MATLAB®

Estructura de código

Mientras organizas tu código:

  • Utilice funciones en lugar de scripts. Las funciones son generalmente más rápidas.

  • Prefiera las funciones locales sobre las funciones anidadas. Utilice esta práctica especialmente si la función no necesita acceder a variables en la función main.

  • Utilice la programación modular. Para evitar archivos de gran tamaño y archivos con código de acceso poco frecuente, divida el código en funciones simples y cohesivas. Esta práctica puede disminuir los costos de ejecución por primera vez.

Prácticas de programación para el rendimiento

Considere estas prácticas de programación para mejorar el rendimiento del código.

  • Preasignar: en lugar de cambiar el tamaño de las matrices de forma continua, considere la posibilidad de preasignar la cantidad máxima de espacio necesaria para una matriz. Para obtener más información, consulte.La preasignación

  • Vectorizar: en lugar de escribir código basado en bucles, considere la posibilidad de utilizar operaciones de matriz y vectores.MATLAB Para obtener más información, consulte.Vectorización

  • Colocar operaciones independientes fuera de bucles: Si el código no se evalúa de forma diferente con cada iteración o bucle, muévase fuera del bucle para evitar cálculos redundantes.forwhile

  • Crear nuevas variables si cambia el tipo de datos: cree una nueva variable en lugar de asignar datos de un tipo diferente a una variable existente. Cambiar la forma de clase o matriz de una variable existente tarda más tiempo en procesarse.

  • Utilizar operadores de cortocircuito: utilice operadores lógicos de cortocircuito y, cuando sea posible.&&|| El cortocircuito es más eficaz porque evalúa el segundo operando sólo cuando el resultado no está completamente determinado por el primer operando.MATLAB Para obtener más información, consulte.Logical Operators: Short Circuit

  • Evitar variables globales: minimizar el uso de variables globales es una buena práctica de programación, y las variables globales pueden disminuir el rendimiento del código.MATLAB

  • Evitar sobrecargar los integrados: Evite sobrecargar las funciones integradas en cualquier clase de datos estándar.MATLAB

  • Evite usar "datos como código": Si tiene grandes porciones de código (por ejemplo, más de 500 líneas) que generan variables con valores constantes, considere la posibilidad de construir las variables y guardarlas en un archivo MAT. A continuación, puede cargar las variables en lugar de ejecutar código para generarlas.

Consejos sobre funciones específicasMATLAB

Tenga en cuenta los siguientes consejos sobre funciones específicas al escribir código crítico para el rendimiento.MATLAB

  • Evite borrar más código de lo necesario. No usar mediante programación.clear all Para obtener más información, consulte.clear

  • Evite las funciones que consultan el estado de tales como,,,MATLABinputnamewhichwhos exist(var)Y.dbstack La introspección en tiempo de ejecución es costosa computacionalmente.

  • Evite funciones como,, yevalevalcevalin feval(fname). Utilice la entrada de la manija de función siempre que sea posible.feval La evaluación indirecta de una expresión del texto es costosa desde el cálculo.MATLAB

  • Evite el uso programático de, y, cuando sea posible.cdaddpathrmpath Cambiar la ruta de acceso durante el tiempo de ejecución produce la recompilación de código.MATLAB

Temas relacionados