私は最近Goを学び始めました。私は複数のgroutによって同時に使用できるマップを実装しようとしています。私はシンプルsync.Mutex
で保護されたマップに私の実装を比較できるようにしたい、またはこのようなものに:https://github.com/streamrail/concurrent-map/blob/master/concurrent_map.goDo not do testing.Bベンチマークは不要な最適化を防止しますか?
Googleのキャリパーを使用してから、私はベンチマーキングのための単純なアプローチは、多くの不要な最適化が実際にゴミ箱にできるようになることを前提としてい結果。 testing.B
を使用するベンチマークでは、(GoとCaliperの両方がGoogleのプロジェクトの後に)それを避けるためにいくつかの手法を採用していますか?はいの場合、それらは知られていますか?そうでない場合は、Goでマイクロベンチマークする最良の方法は何ですか?
これはあなたが探しているものかどうかわかりません。この[link](http://dave.cheney.net/2013/06/30/how-to-write-benchmarks-in-go)から「コンパイラの最適化に関する注意事項」のセクションを読んでください –
@JohnSPerayil、それはまさにそうです私が探しているもの!私はそれが網羅的かどうか(私はそれがないと仮定します)、そしてそれがまだ有効かどうか(私にはわかりません)どうか疑問に思います。 – Elsinor
これはおそらく有効ですが、網羅的ではありません。 –