From eb33c52b8e338b1bccf0d9d26b56d7ef611f6059 Mon Sep 17 00:00:00 2001 From: Joe Kirchoff Date: Wed, 30 Mar 2022 14:15:15 -0700 Subject: Simple file-based compute (#65) --- zencore/compactbinary.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'zencore/compactbinary.cpp') diff --git a/zencore/compactbinary.cpp b/zencore/compactbinary.cpp index cb628af4b..31d449c41 100644 --- a/zencore/compactbinary.cpp +++ b/zencore/compactbinary.cpp @@ -1392,7 +1392,7 @@ LoadCompactBinaryObject(IoBuffer&& Payload) } CbObject -LoadCompactBinaryObject(IoBuffer& Payload) +LoadCompactBinaryObject(const IoBuffer& Payload) { return CbObject{SharedBuffer(Payload)}; } @@ -1404,7 +1404,7 @@ LoadCompactBinaryObject(CompressedBuffer&& Payload) } CbObject -LoadCompactBinaryObject(CompressedBuffer& Payload) +LoadCompactBinaryObject(const CompressedBuffer& Payload) { return CbObject{SharedBuffer(Payload.DecompressToComposite().Flatten())}; } -- cgit v1.2.3 From c07ab0b4114a73de3665492c5b62061a8877e25a Mon Sep 17 00:00:00 2001 From: Joe Kirchoff Date: Thu, 14 Apr 2022 11:58:08 -0700 Subject: Compute updates (#74) --- zencore/compactbinary.cpp | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'zencore/compactbinary.cpp') diff --git a/zencore/compactbinary.cpp b/zencore/compactbinary.cpp index 31d449c41..ffc1da10c 100644 --- a/zencore/compactbinary.cpp +++ b/zencore/compactbinary.cpp @@ -60,22 +60,27 @@ GetPlatformToDateTimeBiasInSeconds() return uint64_t(double(PlatformEpochYear - DateTimeEpochYear) * 365.2425) * 86400; } -DateTime -DateTime::Now() +uint64_t +DateTime::NowTicks() { - static const uint64_t EpochBias = GetPlatformToDateTimeBiasInSeconds(); - static const uint64_t SecsTo100nsTicks = int64_t(10e9 / 100); + static constexpr uint64_t EpochBias = GetPlatformToDateTimeBiasInSeconds(); #if ZEN_PLATFORM_WINDOWS FILETIME SysTime; - GetSystemTimeAsFileTime(&SysTime); - return DateTime{(EpochBias * SecsTo100nsTicks) + (uint64_t(SysTime.dwHighDateTime) << 32) | SysTime.dwLowDateTime}; + GetSystemTimePreciseAsFileTime(&SysTime); + return (EpochBias * TimeSpan::TicksPerSecond) + ((uint64_t(SysTime.dwHighDateTime) << 32) | SysTime.dwLowDateTime); #else int64_t SecondsSinceUnixEpoch = time(nullptr); - return DateTime{(EpochBias + SecondsSinceUnixEpoch) * SecsTo100nsTicks}; + return (EpochBias + SecondsSinceUnixEpoch) * TimeSpan::TicksPerSecond; #endif } +DateTime +DateTime::Now() +{ + return DateTime{NowTicks()}; +} + void DateTime::Set(int Year, int Month, int Day, int Hour, int Minute, int Second, int MilliSecond) { -- cgit v1.2.3