DapperLib / DapperAOT

Build time tools in the flavor of Dapper
Other
366 stars 22 forks source link

Add Fluent Docker Support To Benchmarks #4

Closed khalidabuhakmeh closed 2 years ago

khalidabuhakmeh commented 3 years ago

This PR adds fluent docker as an option to run benchmarks across all major operating systems as long as the host has a docker instance running (docker desktop).

This PR is submitted with express premission from the author to Marc Gravell with accordance with the project license.

khalidabuhakmeh commented 3 years ago

FYI, I got the following stack trace when running the benchmarks on .NET 6.0. I'm currently on macOS. This is likely a .NET 6 preview bug, but just giving you a heads up.

System.Globalization.CultureNotFoundException

```console Unhandled exception. System.Globalization.CultureNotFoundException: Culture is not supported. (Parameter 'name') khalidabuhakmeh_Projects_Dotnet_DapperAOT_test_UsageBenchmark_Program_cs_GetCustomer_199 is an invalid culture identifier. at System.Globalization.CultureInfo..ctor(String name, Boolean useUserOverride) at System.Globalization.CultureInfo..ctor(String name) at System.Reflection.RuntimeAssembly.GetReferencedAssemblies(RuntimeAssembly assembly) at System.Reflection.RuntimeAssembly.GetReferencedAssemblies() at BenchmarkDotNet.Validators.JitOptimizationsValidator.Validate(ValidationParameters validationParameters)+MoveNext() at System.Linq.Enumerable.SelectManySingleSelectorIterator`2.MoveNext() at System.Linq.Enumerable.DistinctIterator`1.MoveNext() at System.Collections.Generic.List`1.InsertRange(Int32 index, IEnumerable`1 collection) at BenchmarkDotNet.Running.BenchmarkRunnerClean.Validate(BenchmarkRunInfo[] benchmarks, ILogger logger) at BenchmarkDotNet.Running.BenchmarkRunnerClean.Run(BenchmarkRunInfo benchmarkRunInfo, Dictionary`2 buildResults, IResolver resolver, ILogger logger, List`1 artifactsToCleanup, String resultsFolderPath, String logFilePath, StartedClock& runChronometer) at BenchmarkDotNet.Running.BenchmarkRunnerClean.Run(BenchmarkRunInfo[] benchmarkRunInfos) at BenchmarkDotNet.Running.BenchmarkRunner.RunWithDirtyAssemblyResolveHelper(Assembly assembly, IConfig config) at BenchmarkDotNet.Running.BenchmarkRunner.<>c__DisplayClass3_0.b__0() at BenchmarkDotNet.Running.BenchmarkRunner.RunWithExceptionHandling(Func`1 run) at BenchmarkDotNet.Running.BenchmarkRunner.Run(Assembly assembly, IConfig config) at icrosoftData_PooledTask>d__20.. in /Users/khalidabuhakmeh/Projects/Dotnet/DapperAOT/test/UsageBenchmark/Program.cs:line 35 ```