1) Unified Concurrency
The main mission is to unify usage of heterogeneous synchronization primitives with interface/pattern based Object Oriented approach. Switching between multiple synchronization primitives with one code line change! Agile Development ready solution to synchronization. Easy upgrade from general threading to async/await thanks to the pattern based design! Reduced code complexity. Easy correctness testing. Simplified performance optimization. Currently implemented synchronization primitives cover:

- wrapper for the .Net SpinLock,
- TicketSpinLock,
- Lock replacement of C# lock (Monitor),
- wrapper around C# lock (monitor) benchmarking only,
- async/await AsyncLock,
- async/await AsyncSpinLock,
- async/await AsyncTicketSpinLock.

2) AsyncTesting SequencerUC
A strongly typed Sequencer is a powerful threading or async/await based unit testing tool to simplify and test correctness in asynchronous and/or parallel code. The Sequencer allows to simplify control/detection of one or many testing thread flows and allows to deterministically setup testing scenario from unit test method and optionally inject data into the tested code to ensure required state.

3) Concurrent Priority Queues
Awaitable Concurrent Priority Queue - Optionally awaitable simple to use Concurrent Priority Queue.

Install-Package GreenSuperGreen.Benchmarking.Launcher.Net -Version
dotnet add package GreenSuperGreen.Benchmarking.Launcher.Net --version
<PackageReference Include="GreenSuperGreen.Benchmarking.Launcher.Net" Version="" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add GreenSuperGreen.Benchmarking.Launcher.Net --version
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

Main development effort.

Version History

Version Downloads Last updated 65 3/7/2019 50 3/7/2019 66 2/9/2019 62 2/7/2019
1.2.3 66 1/27/2019
1.2.0 90 1/12/2019
1.1.9 83 1/8/2019
1.1.8 89 12/30/2018
1.1.4 88 12/8/2018