

# SUS03-BP03 Optimieren von Codebereichen, die die meiste Zeit oder die meisten Ressourcen verbrauchen
<a name="sus_sus_software_a4"></a>

Optimieren Sie den Code, der innerhalb der verschiedenen Komponenten Ihrer Architektur ausgeführt wird, um die Ressourcennutzung zu minimieren und die Leistung zu maximieren.

 **Typische Anti-Muster:** 
+  Sie versäumen die Optimierung Ihres Codes für die Ressourcennutzung. 
+  Sie reagieren auf Leistungsprobleme normalerweise mit Erhöhung des Ressourceneinsatzes. 
+  Ihr Code-Prüfungs- und -Entwicklungsprozess verfolgt keine Leistungsänderungen. 

 **Vorteile der Nutzung dieser bewährten Methode:** Die Verwendung effizienten Codes minimiert die Ressourcennutzung und verbessert die Leistung. 

 **Risikostufe, wenn diese bewährte Methode nicht eingeführt wird:** Mittel 

## Implementierungsleitfaden
<a name="implementation-guidance"></a>

 Es ist sehr wichtig, jeden funktionalen Bereich, einschließlich des Codes einer für die Cloud erstellten Anwendung, zu untersuchen, um ihre Ressourcennutzung und Leistung zu optimieren. Überwachen Sie kontinuierlich die Leistung Ihrer Workload in Build-Umgebungen und Produktionsbereichen und suchen Sie nach Möglichkeiten, Codeausschnitte zu verbessern, die einen besonders hohen Ressourcenverbrauch haben. Führen Sie einen regelmäßigen Prüfungsprozess ein, um Fehler oder Anti-Muster in Ihrem Code zu identifizieren, die Ressourcen in ineffizienter Weise nutzen. Nutzen Sie einfache und effiziente Algorithmen, die dieselben Ergebnisse für Ihre Anwendungsfälle liefern. 

## Implementierungsschritte
<a name="implementation-steps"></a>
+ **Effiziente Programmiersprache verwenden:** Verwenden Sie das jeweils effizienteste Betriebssystem und die optimale Programmiersprache für die Workload. Weitere Informationen zu energieeffizienten Programmiersprachen (einschließlich Rust) finden Sie unter [Sustainability with Rust](https://aws.amazon.com/blogs/opensource/sustainability-with-rust/). 
+  **KI-Programmierungsbegleiter verwenden:** Ziehen Sie die Verwendung eines KI-Programmierungsbegleiters wie [Amazon Q Developer](https://aws.amazon.com/q/developer/) in Betracht, um Code auf effiziente Weise zu schreiben. 
+ **Code-Überprüfungen automatisieren:** Führen Sie bei der Entwicklung Ihrer Workloads einen automatischen Code-Prüfungsprozess ein, um die Qualität zu verbessern sowie Fehler und Anti-Muster zu identifizieren. 
  + [Automatisieren von Code-Reviews mit Amazon CodeGuru Reviewer](https://aws.amazon.com/blogs/devops/automate-code-reviews-with-amazon-codeguru-reviewer/)
  + [Erkennen von Parallelitätsfehlern mit Amazon CodeGuru](https://aws.amazon.com/blogs/devops/detecting-concurrency-bugs-with-amazon-codeguru/)
  + [Verbessern der Codequalität für Python-Anwendungen mit Amazon CodeGuru](https://aws.amazon.com/blogs/devops/raising-code-quality-for-python-applications-using-amazon-codeguru/)
+ **Code-Profiler verwenden:** Verwenden Sie einen Code-Profiler für Code-Prüfungen, um die Codebereiche als Optimierungsziele zu identifizieren, die die meiste Zeit oder die meisten Ressourcen verwenden. 
  + [Reduzieren des CO₂-Fußabdrucks Ihrer Organisation mit Amazon CodeGuru Profiler](https://aws.amazon.com/blogs/devops/reducing-your-organizations-carbon-footprint-with-codeguru-profiler/)
  + [Verständnis der Speichernutzung in Ihrer Java-Anwendung mit Amazon CodeGuru Profiler](https://aws.amazon.com/blogs/devops/understanding-memory-usage-in-your-java-application-with-amazon-codeguru-profiler/)
  + [Verbessern des Kundenkomforts und Senken von Kosten mit Amazon CodeGuru Profiler](https://aws.amazon.com/blogs/devops/improving-customer-experience-and-reducing-cost-with-codeguru-profiler/)
+  **Überwachen und optimieren:** Verwenden Sie Ressourcen für die kontinuierliche Überwachung, um Komponenten mit hohem Ressourcenbedarf oder suboptimaler Konfiguration zu identifizieren. 
  +  Ersetzen Sie rechenintensive Algorithmen durch einfachere und effizientere Versionen, die dieselben Ergebnisse liefern. 
  +  Entfernen Sie unnötigen Code und überflüssige Formatierungen. 
+  **Code-Faktorwechsel oder -Transformation verwenden:** Erkunden Sie die Möglichkeiten der [Amazon-Q-Codetransformation](https://aws.amazon.com/q/aws/code-transformation/) für die Wartung und Aktualisierung von Anwendungen. 
  + [Sprachversionen mit Amazon-Q-Codetransformation aktualisieren](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/code-transformation.html)
  + [AWSre:Invent 2023 – Automatisierung von App-Upgrades und -Wartung mithilfe von Amazon Q-Codetransformation](https://www.youtube.com/watch?v=LY76tak6Z1E)

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

 **Zugehörige Dokumente:** 
+  [What is Amazon CodeGuru Profiler?](https://docs.aws.amazon.com/codeguru/latest/profiler-ug/what-is-codeguru-profiler.html) 
+  [FPGA instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/fpga-getting-started.html) 
+  [Die AWS-SDKs Tools zum Entwickeln in AWS](https://aws.amazon.com/tools/) 

 **Zugehörige Videos:** 
+ [ Improve Code Efficiency Using Amazon CodeGuru Profiler ](https://www.youtube.com/watch?v=1pU4VddsBRw)
+ [ Automate Code Reviews and Application Performance Recommendations with Amazon CodeGuru ](https://www.youtube.com/watch?v=OD8H63C0E0I)