SUS03-BP03 時間やリソースを最も多く消費するコード領域を最適化する
アーキテクチャの異なるコンポーネント内で実行されているコードを最適化して、パフォーマンスを最大化しながらリソースの使用量を最小化します。
一般的なアンチパターン:
-
リソースの使用量に対してコードを最適化しない。
-
通常、パフォーマンスの問題にはリソースを増やすことで対処している。
-
コードの見直しおよび開発プロセスで、パフォーマンスの変化を追跡していない。
このベストプラクティスを活用するメリット: 効率的なコードを使用すると、リソースの使用量が最小限に抑えられ、パフォーマンスが向上します。
このベストプラクティスを活用しない場合のリスクレベル: 中
実装のガイダンス
クラウドに構築されたアプリケーションのコードを含むあらゆる機能領域を精査して、そのリソース使用量とパフォーマンスを最適化することが重要です。ビルド環境および本稼働環境でワークロードのパフォーマンスを継続的にモニタし、リソースの使用量が特に高いコードスニペットを改善する機会を特定します。定期的な見直しプロセスを導入して、コードの中でリソースを効率的に使用していないバグまたはアンチパターンを特定します。自分のユースケースに合わせて、同じ結果になるシンプルで効率的なアルゴリズムを活用します。
実装手順
-
効率的なプログラミング言語を使用する: ワークロードに効率的なオペレーティングシステムとプログラミング言語を使用します。エネルギー効率に優れたプログラム言語 (Rust など) の詳細については、「Rust での持続可能性
」を参照してください。 -
AI コーディングコンパニオンを使用する: Amazon Q Developer
などの AI コーディングコンパニオンを使用して、コードの効率的な記述を検討します。 -
コードレビューを自動化する: ワークロードを開発する際に、自動化されたコードレビュープロセスを導入して、品質を向上させ、バグやアンチパターンを特定します。
-
コードプロファイラーを使用する: コードプロファイラーを使用して、時間またはリソースを最も多く使用するコードの領域を特定し、最適化の対象とします。
-
モニタリングと最適化をする: 継続的なモニタリングリソースを使用して、リソース要件が高い、または最適ではない構成のコンポーネントを特定します。
-
コンピューティング負荷が高いアルゴリズムを、結果が同じであり、よりシンプルでより効率的なバージョンに置き換えます。
-
ソートや書式設定などの不要なコードを削除します。
-
-
コードのリファクタリングまたは変換を使用する: アプリケーションのメンテナンスとアップグレードに Amazon Q コード変換
を検討します。
リソース
関連ドキュメント:
関連動画:
関連する例: