SUS03-BP03: Optimización de las áreas de código que consumen la mayor parte del tiempo o de los recursos
Optimice el código que se ejecuta en los distintos componentes de su arquitectura para minimizar el uso de los recursos y, a la vez, maximizar el rendimiento.
Patrones comunes de uso no recomendados:
-
Ignora la optimización del código para el uso de recursos.
-
Normalmente responde a los problemas de rendimiento con un aumento de los recursos.
-
Su proceso de revisión y desarrollo del código no realiza un seguimiento de los cambios de rendimiento.
Beneficios de establecer esta práctica recomendada: con un código eficiente se minimiza el uso de recursos y se mejora el rendimiento.
Nivel de riesgo expuesto si no se establece esta práctica recomendada: medio
Guía para la implementación
Es fundamental examinar cada área funcional, incluido el código de una aplicación con arquitectura de nube, para optimizar su uso de recursos y su rendimiento. Supervise continuamente el rendimiento de la carga de trabajo en los entornos de creación y producción e identifique oportunidades para mejorar los fragmentos de código que tienen un uso de recursos especialmente elevado. Adopte un proceso de revisión periódico para identificar errores o antipatrones en su código que utilicen los recursos de forma ineficiente. Use algoritmos sencillos y eficaces que produzcan los mismos resultados para su caso de uso.
Pasos para la implementación
-
Utilizar un lenguaje de programación eficaz: use un sistema operativo y un lenguaje de programación que sean eficaces para la carga de trabajo. Para obtener detalles sobre lenguajes de programación energéticamente eficientes (incluido Rust), consulte Sustainability with Rust
(Sostenibilidad con Rust). -
Utilizar un complemento de programación de IA: piense en la posibilidad de utilizar un complemento de programación de IA, como, por ejemplo, Amazon CodeWhisperer
para escribir código de forma eficaz. -
Automatizar las revisiones de código: durante el desarrollo de las cargas de trabajo, adopte un proceso automatizado de revisión del código para mejorar la calidad e identificar errores y antipatrones.
-
Automate code reviews with Amazon CodeGuru Reviewer
(Revisiones automáticas de código con Amazon CodeGuru Reviewer) -
Detecting concurrency bugs with Amazon CodeGuru
(Detección de errores de simultaneidad con Amazon CodeGuru) -
Raising code quality for Python applications using Amazon CodeGuru
(Mejora de la calidad del código para aplicaciones Python con Amazon CodeGuru)
-
-
Utilizar un generador de perfiles de código: use un generador de perfiles de código para identificar las áreas de código que emplean más tiempo o recursos como objetivo de la optimización.
-
Reducing your organization's carbon footprint with Amazon CodeGuru Profiler
(Reducir la huella de carbono de su organización con Amazon CodeGuru Profiler) -
Understanding memory usage in your Java application with Amazon CodeGuru Profiler
(Descripción del uso de memoria en su aplicación Java con Amazon CodeGuru Profiler) -
Improving customer experience and reducing cost with Amazon CodeGuru Profiler
(Mejorar la experiencia del cliente y reducir costes con Amazon CodeGuru Profiler)
-
-
Supervisar y optimizar: utilice los recursos de supervisión continua para identificar los componentes con requisitos elevados respecto a los recursos o una configuración poco óptima.
-
Reemplace los algoritmos que hacen un uso intensivo de la computación por versiones más sencillas y eficientes que produzcan el mismo resultado.
-
Elimine el código innecesario, como la ordenación y el formato.
-
-
Utilizar la refactorización o la transformación del código: explore la posibilidad de usar la transformación de códigos de Amazon Q
para el mantenimiento y las actualizaciones de las aplicaciones.
Recursos
Documentos relacionados:
-
What is Amazon CodeGuru Profiler? (¿Qué es Amazon CodeGuru Profiler?)
Vídeos relacionados:
-
Improve Code Efficiency Using Amazon CodeGuru Profiler
(Mejorar la eficiencia del código con Amazon CodeGuru Profiler) -
AWS re:Invent 2023 - Best practices for Amazon CodeWhisperer
-
Automate Code Reviews and Application Performance Recommendations with Amazon CodeGuru
(Automatizar las revisiones de código y las recomendaciones de rendimiento de aplicaciones con Amazon CodeGuru)
Ejemplos relacionados: