Golangでのベンチマークテストの書き方

Go

「プログラミング言語Go」の練習問題1.3の解答を作成してみました。スライスに含まれる文字列(strings)を連結する方法として、ループによる方法と strings.Join を使う方法のそれぞれの実行時間を計測するため、ベンチマークテストを作成します。コードは以下の通りです。(main.go の方の main関数は、ベンチマークテストには不要です。)

ベンチマークテストを実行するには、これらのファイルのあるディレクトリで、以下のコマンドを実行します。

しばらくすると、以下のような結果が出力されます。

今回は、1000個の文字列からなるスライスでベンチマークテストを行いましたが、ループによる方法よりも strings.Join を使う方法の方が27倍ほど速いことがわかります。

以上、簡単な例でしたが、ベンチマークテストのわかりやすい例だと思います。

参考文献

  • 「プログラミング言語Go」 Alan A.A. Donovan (著),‎ Brian W. Kernighan (著),‎ 柴田 芳樹 (翻訳)