DotNetTips.Spargine.8.Benchmarking
2024.8.11.1
dotnet add package DotNetTips.Spargine.8.Benchmarking --version 2024.8.11.1
NuGet\Install-Package DotNetTips.Spargine.8.Benchmarking -Version 2024.8.11.1
<PackageReference Include="DotNetTips.Spargine.8.Benchmarking" Version="2024.8.11.1" />
paket add DotNetTips.Spargine.8.Benchmarking --version 2024.8.11.1
#r "nuget: DotNetTips.Spargine.8.Benchmarking, 2024.8.11.1"
// Install DotNetTips.Spargine.8.Benchmarking as a Cake Addin #addin nuget:?package=DotNetTips.Spargine.8.Benchmarking&version=2024.8.11.1 // Install DotNetTips.Spargine.8.Benchmarking as a Cake Tool #tool nuget:?package=DotNetTips.Spargine.8.Benchmarking&version=2024.8.11.1
DotNetTips.Spargine.Benchmarking v2024.8.11.1 for .NET 8
Open-source .NET assembly from dotNetTips.com and David (dotNetDave) McCarter for benchmarking code using <a href="https://benchmarkdotnet.org/index.html" target="_blank">BenchmarkDotNet</a>.. This repository is for the dotNetTips.Spargine code for .NET 8. Please support this project by <a href="https://github.com/sponsors/RealDotNetDave" target="_blank">clicking here</a>. <a href="https://dotnettips.wordpress.com/spargine/" target="_blank">Click here</a> to visit the Spargine page on dotNetTips.com. Much of this code is also documented on <a href="https://dotnettips.wordpress.com/category/open-source/spargine/" target="_blank">dotNetTips.com</a>.
NuGet
All of the Spargine assemblies listed below can be found on NuGet by <a href="https://www.nuget.org/profiles/davidmccarter" target="_blank">clicking here</a>.
- Benchmark: Abstract base class featuring common benchmarking methods, supplemented with default attributes. Default attributes (subject to change): [AllStatisticsColumn], [BaselineColumn], [CategoriesColumn], [ConfidenceIntervalErrorColumn], [CsvExporter], [DisassemblyDiagnoser(printSource: true, exportGithubMarkdown: true, exportCombinedDisassemblyReport: true, exportDiff: true, exportHtml: true)], [EvaluateOverhead], [ExceptionDiagnoser], [Full], [GcServer(true)], [GitHub], [HtmlExporter], [InliningDiagnoser(false, true)], [IterationsColumn], [JsonExporter(indentJson: true)], [KurtosisColumn], [LogicalGroupColumn], [MaxColumn], [MemoryDiagnoser(displayGenColumns: true)], [MinColumn], [MValueColumn], [NamespaceColumn], [Orderer(SummaryOrderPolicy.Method)], [RankColumn], [SkewnessColumn], [StatisticalTestColumn(StatisticalTestKind.Welch, showPValues: true)], [StopOnFirstError(true)], [ThreadingDiagnoser]
- LowerCaseString (constant): A lowercase string for testing purposes.
- ProperCaseString (constant): A proper case string for testing purposes.
- UpperCaseString (constant): A upper case string for testing purposes.
- String10Characters01 & String10Characters02 (constant): A 10-character string for testing purposes.
- String15Characters01 & String15Characters02 (constant): A 15-character string for testing purposes.
- TestEmailLowerCase (constant): A test email address in lowercase.
- TestEmailMixedCase (constant): A test email address in mixed case.
- Cleanup (virtual): Clean up this instance. Make sure to invoke this method virtually in a
[GlobalCleanup]
routine. - Consume: Consume the specified object using the Benchmark.Consumer property.
- ConsumeAsync: Consume an object as an asynchronous operation using the Benchmark.Consumer property.
- GenerateByeArray: Generates a random byte array for a given size in kilobytes. Cache results for subsequent calls.
- GetStringArray: Generates a random string array and cache the results for subsequent calls.
- GlobalCleanup: BenchmarkDotNet GlobalCleanup method utilizing the
[GlobalCleanup]
attribute. - GlobalSetup: BenchmarkDotNet GlobalSetup method utilizing the
[GlobalSetup]
attribute. - Setup: Generates and stores random data for use in benchmark tests. Call this method first if overridden.
- Update: Update the Email property in an object that implements IPerson or for a PersonRecord with a random email address. Overloaded to change the values of a ICoordinate object.
- Base64String (property): Retrieves a random Base64 string generated during startup.
- Coordinate01 & Coordinate02 (property): Retrieves a random coordinate generated during startup for use in testing.
- JsonTestDataPerson (static string): Retrieve JSON from resources for a Person object.
- JsonTestDataPersonRecord (static string): Retrieve JSON from resources for a PersonRecord object.
- LaunchDebugger: Get or set a value indicating whether to launch the BenchmarkDotNet debugger.
- LongTestString (property): Retrieve a long test string with a length of 969 characters, including spaces.
- PersonJson (static string): Retrieve the JSON representation of a Person object from the resources.
- PersonRecord01 & PersonRecord02 (property): Retrieve a randomly generated PersonRecord during startup for testing purposes.
- PersonRecordJson (static string): Retrieve the JSON representation of a PersonRecord object from the resources.
- PersonRecordXml (static string): Retrieve the XML representation of a PersonRecord object from the resources.
- PersonRef01 & PersonRef02 (property) Retrieves a Person reference type object for testing generated during startup.
- PersonVal01 & PersonVal02 (property) Retrieves a Person reference type object for testing generated during startup.
- PersonXml (static string): Retrieve the XML representation of a Person object from the resources.
- StringToTrim (property): Retrieve a string with spaces on both sides for testing purposes.
- TestGuid (property): Retrieve a Guid generated at startup for testing purposes.
- CollectionBenchmark: Base class for tests utilizing collections, with additional functionality to preload collections for enhanced benchmark test speed.
- GetPeopleRecordToInsert (virtual): Gets a collection of PersonRecord objects for insertion into collections.
- GetPeopleRefToInsert (virtual): Gets a collection of Person reference objects for insertion into collections.
- GetPeopleValToInsert (virtual): Gets a collection of Person value objects for insertion into collections.
- GetPersonRefArray: Gets Person reference types as an array.
- GetPersonRecordArray: Gets a collection of PersonRecord as an array.
- GetPersonRecordCollection: Gets a collection of PersonRecord as a Collection.
- GetPersonRefCollection: Gets Person reference types as a Collection.
- GetPersonRefDictionary: Gets Person reference types as a Dictionary.
- GetPersonValArray: Retrieves Person value types as an array.
- GetPersonValCollection: Retrieves Person value types as a Collection.
- MaxCount (property): Retrieves the maximum count.
- CounterBenchmark: Abstract class designed for benchmark tests that involve a counter.
- MaxCount: Gets the maximum count.
- LargeCollectionBenchmark: Class for performing benchmark tests on large collections with count values set to 64, 128, 256, 512, 1024, 2048, 4096, and 8192.
- Count: Gets or sets the collection count.
- SmallCollectionBenchmark: Class for conducting benchmark tests on small collections with count values set to 16, 32, 64, 128, 256, 512, 1024, and 2048.
- Count: Gets or sets the collection count.
- TinyCollectionBenchmark: Class for performing benchmark tests on very small collections with count values set to 2, 4, 8, 16, 32, 64, 128, and 256. * Count: Gets or sets the collection count.
Benchmark Tests
<a href="https://github.com/RealDotNetDave/dotNetTips.Spargine.8/tree/master/docs/Benchmark%20Results" target="_blank">Click here</a> to view current benchmark results for this project.
Your Support Is Appreciated!
Do you have code you would like to submit to these repositories? Submit a pull request or submit an issue. I promise to take a look and include it if I like it! I might just send you some cool geeky swag that includes one of my books (as supplies last). You can also support this via GitHub Sponsors: <a href="https://github.com/sponsors/RealDotNetDave" target="_blank">https://github.com/sponsors/RealDotNetDave</a>
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. |
-
net8.0
- BenchmarkDotNet (>= 0.14.0)
- BenchmarkDotNet.Diagnostics.Windows (>= 0.14.0)
- DotNetTips.Spargine.8.Extensions (>= 2024.8.11.1)
- DotNetTips.Spargine.8.Tester (>= 2024.8.11.1)
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 |
---|---|---|
2024.8.11.1 | 28 | 10/31/2024 |
2024.8.9.1 | 96 | 9/1/2024 |
2024.8.8.1 | 86 | 8/1/2024 |
2024.8.5.1 | 122 | 5/5/2024 |
2024.8.3.1 | 138 | 3/1/2024 |
--MAR 2024: Initial 8.0 release.
--AUG 2024: Performance changes.
--NOV 2024: Performance changes, refactoring.