Benchmarking Time Unit
Steven Schveighoffer via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Tue Nov 1 13:54:34 PDT 2016
On 11/1/16 4:19 PM, Nordlöw wrote:
> On Tuesday, 1 November 2016 at 18:39:01 UTC, Jonathan M Davis wrote:
>> Alternatively, you can always do something like
>>
>> immutable before = MonoTime.currTime();
>> // do stuf...
>> immutable after = MonoTime.currTime();
>> Duration timeSpent = after - before;
>
> MonoTime has about 5-10 % fluctuations on my laptop. Is this as good as
> it gets?
This is not clear. What is this a percentage of?
If you are hoping that you run code and the total time taken is going to
be consistent within a few nanoseconds, then I'm sorry to say it's not
going to happen. If you mean it's varying by 5-10 seconds, then this is
a different story, but still could be expected.
MonoTime is going to be very accurate. What isn't true is that on a
laptop being used with a non-realtime OS, you will have exactly
consistent results for userspace programs.
As Jonathan mentioned, the way around this is to average several runs of
the same test.
-Steve
More information about the Digitalmars-d-learn
mailing list