2つのパフォーマンステストフレームワークが役立ちます。
- SkyPat(<a href="https://skypat.skymizer.com" rel="nofollow"> https://skypat.skymizer.com)
- Hayai(<a href="https://github.com/nickbruun/hayai" rel="nofollow"> https://github.com/nickbruun/hayai)
どちらもGoogleTestフレームワークに触発されており、パフォーマンステストをサポートするインターフェースを提供しているため、元のgoogletestをHayaiまたはSkyPatに簡単に転送できます。
SkyPatは、単体テストとperf_evnetを組み合わせたものです。Google Testの概念を拡張し、PMUにアクセスするためのインターフェースを提供します。perf_eventは、コンパイラなど、タイミングの変動に敏感なツールに役立つ正確なサイクルカウントをSkyPatに提供します。SkyPatは、PMUイベント(eq:サイクル、命令、キャッシュ参照、キャッシュミスなど)によってコードの一部をプロファイリングすることもできます。
Hayaiは、パフォーマンステストフレームワークでさまざまなOS(Windows: QueryPerformanceCounter()
、Linux:gethrtime()
、Apple(OSX、iOS) :)のいくつかのパフォーマンス測定方法をサポートしています。mach_absolute_time()