Powerful .NET library for benchmarking
CodeJam.PerfTests.Core is a core infrastructure package that enables BenchmarkDotNet-driven performance tests.
.NET's fastest JSON, JSV and CSV Text Serializers (3x faster than JSON.NET). Fast, Light, Resilient. Benchmarks at: http://servicestack.net/benchmarks/ Includes the String and Stream functionality for all the StackExpress projects including: - T.Dump() generic extension method for easy dbugging and introspection of types - WebRequest, List, Dictionary and DateTime extensions
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. https://www.codeproject.com/Articles/1236238/Unified-Concurrency-I-Introduction https://www.codeproject.com/Articles/1237518/Unified-Concurrency-II-benchmarking-methodologies https://www.codeproject.com/Articles/1242156/Unified-Concurrency-III-cross-benchmarking 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. https://www.codeproject.com/Articles/1222893/Optionally-Awaitable-Concurrent-Priority-Queue
NBench is a cross-platform automated performance profiling and testing framework for.NET applications.
SimpleSpeedTester is a simple, easy to use framework that helps you speed test your .Net code by taking care some of the orchestration for you. It should NOT be confused with a performance profiler such as JetBrains' dotTrace or RedGate's ANTS profiler. The SimpleSpeedTester is intended for one thing and one thing only – help you speed test a specific piece of code/method over multiple runs, collate the results and work out the average for you so you only have to focus on producing the code you want to test. Where it might be useful is when you want to compare the performance of two similar components/methods in terms of speed, for instance, the serialization and deserialization speed of DataContractJsonSerializer vs JavaScriptSerializer.
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. https://www.codeproject.com/Articles/1236238/Unified-Concurrency-I-Introduction https://www.codeproject.com/Articles/1237518/Unified-Concurrency-II-benchmarking-methodologies https://www.codeproject.com/Articles/1242156/Unified-Concurrency-III-cross-benchmarking 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. https://www.codeproject.com/Articles/1222893/Optionally-Awaitable-Concurrent-Priority-Queue
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. https://www.codeproject.com/Articles/1236238/Unified-Concurrency-I-Introduction https://www.codeproject.com/Articles/1237518/Unified-Concurrency-II-benchmarking-methodologies https://www.codeproject.com/Articles/1242156/Unified-Concurrency-III-cross-benchmarking 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. https://www.codeproject.com/Articles/1222893/Optionally-Awaitable-Concurrent-Priority-Queue
Powerful .NET library for benchmarking
A base class library to add useful extensions to .NET, like messanging, LINQ expression parser and extension methods, Task Parallel Library helpers, type auto-mapping for storage and benchmark.
Windows only. Adds performance counter support to NBench measurements.
Unchase Fluent Performance Meter is an open-source and cross-platform .Net Standart 2.0 library is designed for the method’s performance measurement.
A dotnet tool to execute BenchmarkDotNet benchmarks
This package is a .NET Core Global Tool capable to launch .Net Core version of the GreenSuperGreen.Benchmarking.Launcher... Install: dotnet tool install -g GreenSuperGreen.Benchmarking.Launcher.NetCore Uninstall: dotnet tool uninstall -g GreenSuperGreen.Benchmarking.Launcher.NetCore Run: gsgbenchmark 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. https://www.codeproject.com/Articles/1236238/Unified-Concurrency-I-Introduction https://www.codeproject.com/Articles/1237518/Unified-Concurrency-II-benchmarking-methodologies https://www.codeproject.com/Articles/1242156/Unified-Concurrency-III-cross-benchmarking 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. https://www.codeproject.com/Articles/1222893/Optionally-Awaitable-Concurrent-Priority-Queue
Contracts ensuring, Messanging, LINQ expression parser and extension methods, Task Parallel Library helpers, Type auto-mapping for storage and benchmark.
Package Description
CodeJam.PerfTests.Nunit provides NUnit support for BenchmarkDotNet-driven performance tests.
RandomizedTesting.Generators contains generators for random numbers, several forms of text (ASCII, Unicode, realistic Unicode, HTML-like, regular expression-like) as well providing methods to pick random selections from collections and arrays and even create randomly generated Regex classes. These features are implemented as simple low-level extension methods to for the Random class so there is very little to learn to quickly generate random data for your tests. Why would you want tests to have random data? This is to fill situations where it is not practical to test the entire range of values in a single test run, for example, with applications that analyze text. Tests can instead be designed to provide different input every time they run to catch edge cases that are difficult to test for. Generating random data also has many other purposes, such as quickly generating a set of text files to benchmark with without having to store several hundred MB worth of files (since the same random seed will always generate the same data).
NBench is a cross-platform automated performance profiling and testing framework for.NET applications.
Package Description
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. https://www.codeproject.com/Articles/1236238/Unified-Concurrency-I-Introduction https://www.codeproject.com/Articles/1237518/Unified-Concurrency-II-benchmarking-methodologies https://www.codeproject.com/Articles/1242156/Unified-Concurrency-III-cross-benchmarking 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. https://www.codeproject.com/Articles/1222893/Optionally-Awaitable-Concurrent-Priority-Queue
HttpLoadTesting http load generator web client
Package Description
This is a flexible performance benchmark framework. The framework provides custom attributes in order to tag benchmark classes and methods. NPerf uses attributes in much the same may as Nunit. This library is a complete re-write of Jonathan de Halleux's original Nperf framework http://www.codeproject.com/Articles/5945/NPerf-A-Performance-Benchmark-Framework-for-NET, and should be 100% backward compatible.
Easy to use benchmarking, so that you can see how well code runs. Check github for examples
An unofficial port of MJML (by MailJet) to .NET Standard. This project is currently in experimental state and should not be used in a production environment.
.NET library that aims to provide a faster usage of C# reflection features. Especially the usage of constructors, members accessors (get/set) and attributes. It provides these features while trying to keep an API as similar as the standard Reflection API. Supported platforms: - .NET Standard 2.0+ - .NET Core 2.0+ - .NET Framework 4.0+ Supports Source Link See benchmarks here: https://kernelith.github.io/ImmediateReflection/documentation/benchmarks.html.
Core business logic class library for Schools Financial Benchmarking service
Unified Concurrency Benchmarking: - 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.
.NET extensions and helpers for types in System.Core.
Unchase Fluent Performance Meter is an open-source and cross-platform .Net Standart 2.0 library is designed for the method’s performance measurement.
DAWG (Directed Acyclic Word Graph) is a data structure for storing and searching large word lists while keeping your memory footprint small and lookups fast. DawgSharp is an open-source C# implementation featuring a linear time graph reduction algorithm and out-of-the-box persistence support. The Dawg class is nearly as fast as a HashSet for lookups and is much, much more memory-efficient (factors of 30x - 40x are not uncommon). In a benchmark application it held two million words while consuming only 2Mbytes of RAM. That's only one byte per word! And it's even less on disk. The Dawg class can be thought of as a read-only Dictionary<string, Value>: it has a ["string"] indexer and implements IEnumerable<KeyValuePair<string, Value>>. One other very useful feature of Dawg (not found in Dictionary) is the ability to quickly find all words that start with a particular prefix: dawg.MatchPrefix("star") could possibly yield "star", "starch", "start", "starting", etc. This package is provided under the terms of the GNU GPL v3. Source code and documentation are available on GitHub: https://github.com/bzaar/DawgSharp. Commercial licenses are also available at http://morpher.co.uk
HTTP User Agent Parser for .NET
A load generator command-line tool for testing websites and HTTP APIs
Testing helpers, incl.. Generic Builder to delegate instance creation for testing data using Mocks, Pocos or whatever Resource Finder, simplify getting hold of embedded resources in your tests Benchmark, time how long your code takes, run iterations or time-to-stop benchmarks
A wildcard matching library for .NET Core 2.x, and .NET Standard 1.3/2.0. Robust: extensively unit tested to be reliable and predictable - no edge cases! Fast: developed with regular benchmarking and performance analysis to provide the best speed possible!
Package Description
A library to microbenchmark lambdas in C# and F# that runs on both Windows (clr) and Linux (mono).
Package Description
A simple to use framework for setting up benchmarks and visualizing results in real time.
Powerful .NET library for benchmarking
Unified Concurrency Tests: - 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.