私は、レイテンシ要件が低いプログラムの一部のタイミングコードを書いています。C++を使用して移植可能なタイミングコードの正しい方法11
std :: chronoライブラリで利用できるものを見ると、移植性のあるタイミングコードを書くのは少し難しいと思っています。
- のstd ::クロノ:: high_resolution_clock
- のstd ::クロノ:: steady_clock
- のstd ::クロノ:: SYSTEM_CLOCK
SYSTEM_CLOCKは、それが安定しないと、役に立たない残り2つのクロックに問題があります。
high_resolution_clockは必ずしもすべてのプラットフォームで安定しているとは限りません。
steady_clockは必ずしも微粒子解像度の期間(例:ナノ秒)をサポートしていません、私の目的は、安定したクロックを持つために
は、最も重要な要件であると私は一種のマイクロ秒の粒度とによって得ることができます。
私の質問は、異なるh/wアーキテクチャーやOSで動作するタイムコードが必要な場合です。何が最善の選択肢ですか?
あなたが絶対に後退できない場合は、安定している必要があります。まれな偽の後方プロファイリング値は...それは誰かを殺すだろうか? – Yakk
@ Yakkはまた、NTPなどによる時間の変更など、ジャンプ先にも使用できますか? –
しかし、あなたはプロファイリングしています。いくつかのノイズは、コンテクストスイッチなどから予期されることがある。それが不安定であるという点は、しばしば安定した保証が*高価であるということです。保証を必要としない限り、その保証は価値がありません。 – Yakk