11章最適化パターン

これまでの10章で学んだことを踏まえて、Goで効率的なコードを開発する際に見つけたさまざまなパターンやよくある落とし穴について解説していきましょう。 第10章 で述べたように、最適化の提案はうまく一般化できません。 しかし、コードの変更を効果的に評価する方法をこの時点で知っているはずなので、特定のケースで効率を向上させるいくつかの一般的なパターンを述べても損はないでしょう。

tip

良い心がけがあるGoデベロッパーになる

ここで紹介する最適化のアイデアのほとんどは、非常に意図的なものであることを忘れないでください。 つまり、最適化には開発者の時間が必要であり、将来的なメンテナンスも必要であるため、追加する正当な理由が必要なのです。 一般的な最適化について学んだとしても、それがあなたの特定の実行負荷の効率を向上させるものであることを確認してください。

この章は厳密なマニュアルとしてではなく、あなたが考えもしなかった潜在的なオプションのリストとして使用してください。 とはいえ、常に前の章で学んだオブザーバビリティ、ベンチマーク、プロファイルツールをしっかりと使って、あなたが行う最適化が実用的で、 YAGNI に従っており、必要なものであることを確認してください。

まず 「11.1 よくあるパターン」 から始めます。 ここでは、 第10章 にある最適化例から見える、いくつかのハイレベルな最適化パターンを説明します。 そして、Go(とPrometheus)コミュニティから得られた優れたメモリ最適化フレームワークである ...