

# SUS03-BP03 Mengoptimalkan area kode yang memakai waktu atau sumber daya paling banyak
<a name="sus_sus_software_a4"></a>

Optimalkan kode Anda yang dijalankan di dalam berbagai macam komponen arsitektur Anda untuk meminimalkan penggunaan sumber daya sambil memaksimalkan performa.

 **Antipola umum:** 
+  Anda mengabaikan optimisasi kode Anda untuk penggunaan sumber daya. 
+  Anda biasanya merespons masalah performa dengan meningkatkan sumber daya. 
+  Proses pengembangan dan peninjauan kode Anda tidak melacak perubahan performa. 

 **Manfaat menjalankan praktik terbaik ini:** Menggunakan kode yang efisien akan meminimalkan penggunaan sumber daya dan meningkatkan performa. 

 **Tingkat risiko yang terjadi jika praktik terbaik ini tidak dijalankan:** Sedang 

## Panduan implementasi
<a name="implementation-guidance"></a>

 Setiap area fungsional harus diperiksa, termasuk kode untuk aplikasi dengan arsitektur cloud, untuk mengoptimalkan penggunaan sumber dayanya dan performanya. Terus pantau performa beban kerja Anda di lingkungan pembangunan dan produksi dan identifikasi peluang untuk meningkatkan snippet kode yang memiliki penggunaan sumber daya sangat tinggi. Adopsi proses peninjauan secara teratur untuk mengidentifikasi bug atau antipola di dalam kode Anda yang menggunakan sumber daya secara tidak efisien. Manfaatkan algoritme sederhana dan efisien yang memberikan hasil yang sama untuk kasus penggunaan Anda. 

## Langkah implementasi
<a name="implementation-steps"></a>
+ **Gunakan bahasa pemrograman yang efisien:** Gunakan sistem operasi dan bahasa pemrograman yang efisien untuk beban kerja. Untuk informasi mendetail tentang bahasa pemrograman hemat energi (termasuk Rust), lihat [Pelestarian Lingkungan dengan Rust](https://aws.amazon.com/blogs/opensource/sustainability-with-rust/). 
+  **Gunakan pendamping pengodean AI:** Pertimbangkan untuk menggunakan pendamping pengodean AI seperti [Amazon CodeWhisperer](https://aws.amazon.com/pm/codewhisperer/) untuk menulis kode secara efisien. 
+ **Otomatiskan peninjauan kode:** Saat mengembangkan beban kerja Anda, adopsi proses peninjauan kode otomatis untuk meningkatkan kualitas dan mengidentifikasi bug dan antipola. 
  + [ Otomatiskan peninjauan kode dengan Amazon CodeGuru Reviewer](https://aws.amazon.com/blogs/devops/automate-code-reviews-with-amazon-codeguru-reviewer/)
  + [ Mendeteksi bug konkurensi dengan Amazon CodeGuru](https://aws.amazon.com/blogs/devops/detecting-concurrency-bugs-with-amazon-codeguru/)
  + [ Meningkatkan kualitas kode untuk aplikasi Python menggunakan Amazon CodeGuru ](https://aws.amazon.com/blogs/devops/raising-code-quality-for-python-applications-using-amazon-codeguru/)
+ **Gunakan profiler kode:** Gunakan profiler kode untuk mengidentifikasi area kode yang menggunakan waktu atau sumber daya paling banyak sebagai target untuk dioptimalkan. 
  + [ Mengurangi jejak karbon organisasi Anda dengan Amazon CodeGuru Profiler ](https://aws.amazon.com/blogs/devops/reducing-your-organizations-carbon-footprint-with-codeguru-profiler/)
  + [ Memahami penggunaan memori di aplikasi Java Anda dengan Amazon CodeGuru Profiler ](https://aws.amazon.com/blogs/devops/understanding-memory-usage-in-your-java-application-with-amazon-codeguru-profiler/)
  + [ Meningkatkan pengalaman pelanggan dan mengurangi biaya dengan Amazon CodeGuru Profiler ](https://aws.amazon.com/blogs/devops/improving-customer-experience-and-reducing-cost-with-codeguru-profiler/)
+  **Pantau dan optimalkan:** Gunakan sumber daya pemantauan berkelanjutan untuk mengidentifikasi komponen dengan persyaratan sumber daya yang tinggi atau konfigurasi yang kurang optimal. 
  +  Ganti algoritme yang banyak memerlukan komputasi dengan versi yang lebih sederhana dan lebih efisien, yang akan memberikan hasil yang sama. 
  +  Singkirkan kode yang tidak perlu seperti penyortiran dan pemformatan. 
+  **Gunakan pemfaktoran ulang atau transformasi kode:** Jelajahi kemungkinan [transformasi kode Amazon Q](https://aws.amazon.com/q/aws/code-transformation/) untuk pemeliharaan dan peningkatan aplikasi. 
  + [ Tingkatkan versi bahasa dengan Amazon Q Code Transformation ](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/code-transformation.html)
  + [AWS re:Invent 2023 - Otomatiskan peningkatan & pemeliharaan aplikasi menggunakan Amazon Q Code Transformation ](https://www.youtube.com/watch?v=LY76tak6Z1E)

## Sumber daya
<a name="resources"></a>

 **Dokumen terkait:** 
+  [Apa itu Amazon CodeGuru Profiler?](https://docs.aws.amazon.com/codeguru/latest/profiler-ug/what-is-codeguru-profiler.html) 
+  [Instans FPGA](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/fpga-getting-started.html) 
+  [SDK AWS tentang Alat untuk Membangun di AWS](https://aws.amazon.com/tools/) 

 **Video terkait:** 
+ [ Tingkatkan Efisiensi Kode Menggunakan Amazon CodeGuru Profiler ](https://www.youtube.com/watch?v=1pU4VddsBRw)
+ [AWS re:Invent 2023 - Praktik terbaik untuk Amazon CodeWhisperer ](https://www.youtube.com/watch?v=F_dSkRHCXBc)
+ [ Otomatiskan Peninjauan Kode dan Rekomendasi Performa Aplikasi dengan Amazon CodeGuru ](https://www.youtube.com/watch?v=OD8H63C0E0I)

 **Contoh terkait:** 
+ [ Mengoptimalkan Kode dengan Amazon CodeGuru ](https://catalog.workshops.aws/well-architected-sustainability/en-US/2-software-and-architecture/200-codeguru-lab)