

# SUS03-BP03: Optimización de las áreas de código que consumen la mayor parte del tiempo o de los recursos
<a name="sus_sus_software_a4"></a>

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
<a name="implementation-guidance"></a>

 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
<a name="implementation-steps"></a>
+ **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](https://aws.amazon.com/blogs/opensource/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](https://aws.amazon.com/pm/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 ](https://aws.amazon.com/blogs/devops/automate-code-reviews-with-amazon-codeguru-reviewer/)(Revisiones automáticas de código con Amazon CodeGuru Reviewer)
  + [ Detecting concurrency bugs with Amazon CodeGuru ](https://aws.amazon.com/blogs/devops/detecting-concurrency-bugs-with-amazon-codeguru/)(Detección de errores de simultaneidad con Amazon CodeGuru)
  + [ Raising code quality for Python applications using Amazon CodeGuru ](https://aws.amazon.com/blogs/devops/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 ](https://aws.amazon.com/blogs/devops/reducing-your-organizations-carbon-footprint-with-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 ](https://aws.amazon.com/blogs/devops/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 ](https://aws.amazon.com/blogs/devops/improving-customer-experience-and-reducing-cost-with-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](https://aws.amazon.com/q/aws/code-transformation/) para el mantenimiento y las actualizaciones de las aplicaciones. 
  + [Upgrade language versions with Amazon Q Code Transformation](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/code-transformation.html)
  + [AWS re:Invent 2023 - Automate app upgrades & maintenance using Amazon Q Code Transformation](https://www.youtube.com/watch?v=LY76tak6Z1E)

## Recursos
<a name="resources"></a>

 **Documentos relacionados:** 
+  [What is Amazon CodeGuru Profiler?](https://docs.aws.amazon.com/codeguru/latest/profiler-ug/what-is-codeguru-profiler.html) (¿Qué es Amazon CodeGuru Profiler?) 
+  [Instancias de FPGA](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/fpga-getting-started.html) 
+  [SDK de AWS en Herramientas para crear en AWS](https://aws.amazon.com/tools/) 

 **Vídeos relacionados: ** 
+ [ Improve Code Efficiency Using Amazon CodeGuru Profiler ](https://www.youtube.com/watch?v=1pU4VddsBRw)(Mejorar la eficiencia del código con Amazon CodeGuru Profiler)
+ [AWS re:Invent 2023 - Best practices for Amazon CodeWhisperer](https://www.youtube.com/watch?v=F_dSkRHCXBc)
+ [ Automate Code Reviews and Application Performance Recommendations with Amazon CodeGuru ](https://www.youtube.com/watch?v=OD8H63C0E0I)(Automatizar las revisiones de código y las recomendaciones de rendimiento de aplicaciones con Amazon CodeGuru)

 **Ejemplos relacionados:** 
+ [Optimizing Code with Amazon CodeGuru](https://catalog.workshops.aws/well-architected-sustainability/en-US/2-software-and-architecture/200-codeguru-lab)