The _d_initMonoTime() version(OSX) calculation for ticksPerSecond is using a flipped mach_timebase_info ratio numer/denom when it should be denom/numer. Fortunately (or unfortunately depending on your point of view) it doesn't show up as a problem on Intel OS X Macs because numer and denom are both 1. On an iOS iPhone, wrong results would be produced because numer = 125 and denom = 3. The wrong calculation shows up here: https://github.com/D-Programming-Language/druntime/blob/master/src/core/time.d#L2639 This is a regression because the correct calculation shows up in the deprecated struct TickDuration here: https://github.com/D-Programming-Language/druntime/blob/master/src/core/time.d#L2954
PR https://github.com/D-Programming-Language/druntime/pull/1432
Commit pushed to stable at https://github.com/D-Programming-Language/druntime https://github.com/D-Programming-Language/druntime/commit/fdad9f502dc3a5cac0bac0cfa7d55fc4b7c273b5 Merge pull request #1432 from smolt/ticksPerSecOSXFixStable Fix issue 15334 - OS X core.time ticksPerSecond calculation is incorrect
Commit pushed to master at https://github.com/D-Programming-Language/druntime https://github.com/D-Programming-Language/druntime/commit/fdad9f502dc3a5cac0bac0cfa7d55fc4b7c273b5 Merge pull request #1432 from smolt/ticksPerSecOSXFixStable
Commit pushed to dmd-cxx at https://github.com/dlang/druntime https://github.com/dlang/druntime/commit/fdad9f502dc3a5cac0bac0cfa7d55fc4b7c273b5 Merge pull request #1432 from smolt/ticksPerSecOSXFixStable