core.time.mono_time_impl.op_binary
- multiple declarations
- Template MonoTimeImpl.opBinary
- Template MonoTimeImpl.opBinary
Template MonoTimeImpl.opBinary
Subtracting two MonoTimes results in a Duration
representing
the amount of time which elapsed between them.
The primary way that programs should time how long something takes is to
do
MonoTime before = MonoTime.currTime; // do stuff MonoTime after = MonoTime.currTime; // How long it took. Duration timeElapsed = after - before;
or to
use a wrapper (such as a stop watch type) which does that.
Warning:
Because Duration
is in hnsecs
, whereas MonoTime
is in system
ticks
, it's usually the case that this assertion will fail
auto before = MonoTime.currTime; // do stuff auto after = MonoTime.currTime; auto timeElapsed = after - before; assert(before + timeElapsed == after).
This is generally fine, and by its very nature, converting from
system ticks
to
any type of seconds
(hnsecs
, nsecs
, etc.) will
introduce rounding errors, but if code needs to
avoid any of the
small rounding errors introduced by conversion, then it needs to
use
MonoTime
's
property and keep all calculations in ticks
ticks
rather than using Duration
.
Arguments
template opBinary(string op);
Functions
Function name | Description |
---|---|
opBinary |
Template MonoTimeImpl.opBinary
Adding or subtracting a Duration
to
/from a MonoTime
results in
a MonoTime
which is adjusted by that amount.
Arguments
template opBinary(string op);
Functions
Function name | Description |
---|---|
opBinary |
Authors
Jonathan M Davis and Kato Shoichi