私は c# を使用しており、(主に c++ を使用して) システム時刻の取得DateTime.Now
が遅くなる可能性があることを理解しています。タイマーを使用してこれを改善しようとしています/Stopwatch
class Time {
private DateTime _starttime;
private Stopwatch _timer;
public Time() {
_timer = new Stopwatch();
_starttime = DateTime.Now; //trying to improve on multiple calls to `DateTime.Now` by only calling it once
_timer.start;
}
public DateTime Now {
get { return _starttime + _timer.Elapsed; }
}
}
これで、私のクラスはメンバーを持ち、現在の時刻を知りたいときにいつでもprivate Time _time;
呼び出すことができます。_time.Now;
現在の時刻は少しずれている可能性があります (遅延を測定しようとしていて、数秒以上遅れているかどうかを知りたい) が、現在の時刻を頻繁に確認できるようにしたい多数のシステムコールによるパフォーマンスへの影響はありません。
いくつかのパフォーマンス テストの作成を開始している間、誰かがより良い/別の方法を知っているかどうか疑問に思っていました (または、私がここで完全にずれているかどうかを誰かが知っているかもしれません)。