QuickTickLib 0.0.1

There is a newer version of this package available.
See the version list below for details.
dotnet add package QuickTickLib --version 0.0.1
                    
NuGet\Install-Package QuickTickLib -Version 0.0.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="QuickTickLib" Version="0.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="QuickTickLib" Version="0.0.1" />
                    
Directory.Packages.props
<PackageReference Include="QuickTickLib" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add QuickTickLib --version 0.0.1
                    
#r "nuget: QuickTickLib, 0.0.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=QuickTickLib&version=0.0.1
                    
Install QuickTickLib as a Cake Addin
#tool nuget:?package=QuickTickLib&version=0.0.1
                    
Install QuickTickLib as a Cake Tool

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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • 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.

Version Downloads Last updated
1.1.0 89 23 days ago
1.0.0 215 2 months ago
0.0.1 92 2 months ago