QuickTickLib 0.0.1
See the version list below for details.
dotnet add package QuickTickLib --version 0.0.1
NuGet\Install-Package QuickTickLib -Version 0.0.1
<PackageReference Include="QuickTickLib" Version="0.0.1" />
<PackageVersion Include="QuickTickLib" Version="0.0.1" />
<PackageReference Include="QuickTickLib" />
paket add QuickTickLib --version 0.0.1
#r "nuget: QuickTickLib, 0.0.1"
#addin nuget:?package=QuickTickLib&version=0.0.1
#tool nuget:?package=QuickTickLib&version=0.0.1
QuickTick
QuickTick is a small library based on what was discussed in a .net runtime issue on github: https://github.com/dotnet/runtime/issues/67088 It is based on the timer the microsoft Go team implemented and that was presented in: https://devblogs.microsoft.com/go/high-resolution-timers-windows/
It is a library written in .net8.0 for windows only
QuickTickTimer
A timer class similar in use to the System.Timers.Timer but with the ability to go below 15.6ms interval without needing to set a system clock rate using TimeBeginPeriod.
Dont expect the timer to have perfect precision (Windows is not a RealTime System). Example: Setting a timer to 5ms leads to most iteration being around 5ms but some also way higher. In my tests the timer was between 4 and 6ms for over 98% of all intervals but the absolute max was 29ms. However the timer keeps an average interval of exactly 5ms.
QuickTickTiming
provides async Delay function based on the QuickTickTimer. provides a sleep function similar to Thread.Sleep().
TODO
- Check priority for the completionThread.
- Decouple the completionThread from invoking the TimerElapsed events. Could allow higher prio of completion thread ⇒ (use a seperate processing thread? couple with ConcurrentQueue<Action> eventQueue and AutoResetEvent?) ⇒ Use SynchronizingObject?
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.