Skip to main content

Get full access to 効率的なGo ―データ指向によるGoアプリケーションの性能最適化 and 60K+ other titles, with a free 10-day trial of O'Reilly.

There are also live events, courses curated by job role, and more.

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.

Don’t leave empty-handed

Get Mark Richards’s Software Architecture Patterns ebook to better understand how to design components—and how they should interact.

It’s yours, free.

Get it now
Cover of Software Architecture Patterns

Check it out now on O’Reilly

Dive in for free with a 10-day trial of the O’Reilly learning platform—then explore all the other resources our members count on to build skills and solve problems every day.

Start your free trial Become a member now