

# SUS03-BP03 优化消耗最多时间或资源的代码区域
<a name="sus_sus_software_a4"></a>

优化在架构的不同组件中运行的代码，以最大限度地减少资源使用和提高性能。

 **常见反模式：**
+  忽略为资源使用优化代码。
+  通常通过增加资源来应对性能问题。
+  代码审核和开发过程不会跟踪性能变化。

 **建立此最佳实践的好处：**使用高效的代码可以最大限度地减少资源使用并提高性能。

 **在未建立这种最佳实践的情况下暴露的风险等级：**中 

## 实施指导
<a name="implementation-guidance"></a>

 至关重要的是检查每个功能区域（包括云架构应用程序的代码）以优化其资源使用和性能。持续监控工作负载在构建环境和生产中的性能，并确定改进资源使用率特别高的代码片段的机会。采用定期审核流程来识别代码中资源使用效率低下的错误或反模式。利用可为您的应用场景产生相同结果的简单和高效算法。

## 实施步骤
<a name="implementation-steps"></a>
+ **使用高效的编程语言：**使用高效的操作系统和编程语言来处理工作负载。有关节能编程语言（包括 Rust）的详细信息，请参阅《[Sustainability with Rust](https://aws.amazon.com/blogs/opensource/sustainability-with-rust/)》。
+  **使用 AI 编码伴侣：**考虑使用 [Amazon Q 开发者版](https://aws.amazon.com/q/developer/)等 AI 编码伴侣来高效编写代码。
+ **实现代码审查自动化：**在开发工作负载时，采用自动化代码审查流程来提高质量并识别错误和反模式。
  + [ Automate code reviews with Amazon CodeGuru Reviewer ](https://aws.amazon.com/blogs/devops/automate-code-reviews-with-amazon-codeguru-reviewer/)
  + [使用 Amazon CodeGuru 检测并发错误](https://aws.amazon.com/blogs/devops/detecting-concurrency-bugs-with-amazon-codeguru/)
  + [使用 Amazon CodeGuru 提高 Python 应用程序的代码质量](https://aws.amazon.com/blogs/devops/raising-code-quality-for-python-applications-using-amazon-codeguru/)
+ **使用代码分析器：**使用代码分析器确定使用时间最长或使用资源最多的代码区域作为优化目标。
  + [借助 Amazon CodeGuru Profiler 减少组织的碳排放](https://aws.amazon.com/blogs/devops/reducing-your-organizations-carbon-footprint-with-codeguru-profiler/)
  + [使用 Amazon CodeGuru Profiler 了解 Java 应用程序中的内存使用](https://aws.amazon.com/blogs/devops/understanding-memory-usage-in-your-java-application-with-amazon-codeguru-profiler/)
  + [通过 Amazon CodeGuru Profiler 改进客户体验并降低成本](https://aws.amazon.com/blogs/devops/improving-customer-experience-and-reducing-cost-with-codeguru-profiler/)
+  **监控和优化：**使用持续监控资源来识别资源要求高或配置不佳的组件。
  +  使用可产生相同结果的更简单、更高效算法取代计算密集型算法。
  +  删除排序和格式等不必要的代码。
+  **使用代码重构或转换：**探索将 [Amazon Q 代码转换](https://aws.amazon.com/q/aws/code-transformation/)用于应用程序维护和升级的可能性。
  + [使用 Amazon Q 代码转换升级语言版本](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)

## 资源
<a name="resources"></a>

 **相关文档：**
+  [什么是 Amazon CodeGuru Profiler？](https://docs.aws.amazon.com/codeguru/latest/profiler-ug/what-is-codeguru-profiler.html) 
+  [FPGA 实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/fpga-getting-started.html) 
+  [用于在 AWS 上进行构建的 AWS SDK 和工具](https://aws.amazon.com/tools/) 

 **相关视频：**
+ [使用 Amazon CodeGuru Profiler 提高代码效率](https://www.youtube.com/watch?v=1pU4VddsBRw)
+ [使用 Amazon CodeGuru 自动提供代码审查和应用程序性能建议](https://www.youtube.com/watch?v=OD8H63C0E0I)