8章ベンチマーク
あなたのGo IDEが準備万端であることを祈りつつ、いくつかのアクションのためにウォームアップを行いましょう! そろそろGoのコードに負荷を与えて、 第7章 で述べたミクロとマクロのレベルでの効率的な特性を見つけるときです。
この章では、まず 「8.1 マイクロベンチマーク」 でマイクロベンチマークの基本を説明し、Goネイティブなベンチマークを紹介します。
次に、 benchstat
のようなツールで出力を解釈する方法を説明します。
そして、私が学んだマイクロベンチマークの側面と、マイクロベンチマークの実用に驚くほど役立つ技を紹介します。
この章の後半では、その規模と複雑さのためにプログラミングの本の範囲に入ることがほとんどない 「8.3 マクロベンチマーク」 を見ていきます。 私の考えでは、マクロベンチマークはマイクロベンチマークと同じくらいGoの開発にとって重要なので、効率を気にする開発者は皆、そのレベルのテストに取り組めるようになるべきです。 次に、 「8.3.2 Goのe2eフレームワーク」 では、コンテナを使って完全にGoで書かれたマクロテストの例を見ていきます。 その過程で、結果や共通のオブザーバビリティについて議論します。
それでは、コードの小さな部分の効率性を評価するもっともアジャイルな方法、すなわちマイクロベンチマークに取り掛かりましょう。
8.1 マイクロベンチマーク
ベンチマークは、単一のプロセスで実行される小さなコードの一部で、単一の独立した機能に焦点を当てている場合、マイクロベンチマークと呼ばれることがあります。 マイクロベンチマークは、コードレベルやアルゴリズムレベルで、単一のコンポーネントの最適化を効率的に評価するためのツールと考えられます( ...
Get 効率的なGo ―データ指向によるGoアプリケーションの性能最適化 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.