diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index cd5f2927..9657ffd0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -15,6 +15,7 @@ on: paths: - "**" - "!**.md" + - "!benchmark/BenchmarkDotNet.Artifacts/**" jobs: build-wasm: diff --git a/.github/workflows/legacy-tests.yml b/.github/workflows/legacy-tests.yml index 36bb4852..6f99931d 100644 --- a/.github/workflows/legacy-tests.yml +++ b/.github/workflows/legacy-tests.yml @@ -11,6 +11,7 @@ on: paths: - "**" - "!**.md" + - "!benchmark/BenchmarkDotNet.Artifacts/**" jobs: # As this can run only on Windows machines, these tests should run only in CI diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index fcf2627e..2799e920 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -15,6 +15,7 @@ on: paths: - "**" - "!**.md" + - "!benchmark/BenchmarkDotNet.Artifacts/**" jobs: unit-tests: diff --git a/benchmark/BenchmarkDotNet.Artifacts/mysql/reads/results/BenchmarkRunner.Benchmarks.MysqlReadBenchmark-report-github.md b/benchmark/BenchmarkDotNet.Artifacts/mysql/reads/results/BenchmarkRunner.Benchmarks.MysqlReadBenchmark-report-github.md index 71cc3d46..b7ebec2b 100644 --- a/benchmark/BenchmarkDotNet.Artifacts/mysql/reads/results/BenchmarkRunner.Benchmarks.MysqlReadBenchmark-report-github.md +++ b/benchmark/BenchmarkDotNet.Artifacts/mysql/reads/results/BenchmarkRunner.Benchmarks.MysqlReadBenchmark-report-github.md @@ -4,7 +4,7 @@ BenchmarkDotNet v0.13.12, Ubuntu 24.04.3 LTS (Noble Numbat) AMD EPYC 7763, 1 CPU, 4 logical and 2 physical cores .NET SDK 8.0.416 [Host] : .NET 8.0.22 (8.0.2225.52707), X64 RyuJIT AVX2 - Job-OVVOTJ : .NET 8.0.22 (8.0.2225.52707), X64 RyuJIT AVX2 + Job-MKTQLE : .NET 8.0.22 (8.0.2225.52707), X64 RyuJIT AVX2 Runtime=.NET 8.0 IterationCount=10 WarmupCount=2 Categories=Read @@ -12,10 +12,10 @@ Categories=Read ``` | Method | Params | Mean | Error | StdDev | Ratio | RatioSD | Gen0 | Gen1 | Gen2 | Allocated | Alloc Ratio | |-------------------------------------------- |------------------ |---------:|---------:|---------:|------:|--------:|-----------:|-----------:|----------:|-----------:|------------:| -| **'SQLC - GetCustomerOrders'** | **L=1K, C=100, Q=2K** | **6.180 s** | **0.1594 s** | **0.1055 s** | **1.00** | **0.00** | **50000.0000** | **28000.0000** | **6000.0000** | **1243.64 MB** | **1.00** | -| 'EFCore (NoTracking) - GetCustomerOrders' | L=1K, C=100, Q=2K | 10.794 s | 0.7980 s | 0.5278 s | 1.75 | 0.08 | 94000.0000 | 48000.0000 | 2000.0000 | 1492.87 MB | 1.20 | -| 'EFCore (WithTracking) - GetCustomerOrders' | L=1K, C=100, Q=2K | 10.626 s | 0.2649 s | 0.1576 s | 1.72 | 0.03 | 94000.0000 | 48000.0000 | 2000.0000 | 1489.05 MB | 1.20 | +| **'SQLC - GetCustomerOrders'** | **L=1K, C=100, Q=2K** | **6.040 s** | **0.1213 s** | **0.0803 s** | **1.00** | **0.00** | **50000.0000** | **28000.0000** | **6000.0000** | **1243.4 MB** | **1.00** | +| 'EFCore (NoTracking) - GetCustomerOrders' | L=1K, C=100, Q=2K | 10.158 s | 0.2126 s | 0.1112 s | 1.68 | 0.03 | 94000.0000 | 48000.0000 | 2000.0000 | 1492.19 MB | 1.20 | +| 'EFCore (WithTracking) - GetCustomerOrders' | L=1K, C=100, Q=2K | 10.192 s | 0.2091 s | 0.1383 s | 1.69 | 0.03 | 94000.0000 | 48000.0000 | 2000.0000 | 1488.34 MB | 1.20 | | | | | | | | | | | | | | -| **'SQLC - GetCustomerOrders'** | **L=50, C=200, Q=4K** | **2.942 s** | **0.0336 s** | **0.0200 s** | **1.00** | **0.00** | **10000.0000** | **6000.0000** | **2000.0000** | **178.25 MB** | **1.00** | -| 'EFCore (NoTracking) - GetCustomerOrders' | L=50, C=200, Q=4K | 16.741 s | 2.1171 s | 1.4003 s | 5.67 | 0.52 | 50000.0000 | 10000.0000 | 1000.0000 | 783.88 MB | 4.40 | -| 'EFCore (WithTracking) - GetCustomerOrders' | L=50, C=200, Q=4K | 15.781 s | 0.8646 s | 0.4522 s | 5.36 | 0.17 | 48000.0000 | 9000.0000 | - | 776.08 MB | 4.35 | +| **'SQLC - GetCustomerOrders'** | **L=50, C=200, Q=4K** | **2.849 s** | **0.0446 s** | **0.0295 s** | **1.00** | **0.00** | **10000.0000** | **6000.0000** | **2000.0000** | **178.09 MB** | **1.00** | +| 'EFCore (NoTracking) - GetCustomerOrders' | L=50, C=200, Q=4K | 15.472 s | 3.6460 s | 2.4116 s | 5.43 | 0.84 | 50000.0000 | 10000.0000 | 1000.0000 | 783.42 MB | 4.40 | +| 'EFCore (WithTracking) - GetCustomerOrders' | L=50, C=200, Q=4K | 15.419 s | 2.5600 s | 1.6933 s | 5.42 | 0.63 | 50000.0000 | 11000.0000 | 2000.0000 | 775.5 MB | 4.35 | diff --git a/benchmark/BenchmarkDotNet.Artifacts/mysql/reads/results/BenchmarkRunner.Benchmarks.MysqlReadBenchmark-report.csv b/benchmark/BenchmarkDotNet.Artifacts/mysql/reads/results/BenchmarkRunner.Benchmarks.MysqlReadBenchmark-report.csv index e2a1f9b3..cb3addb5 100644 --- a/benchmark/BenchmarkDotNet.Artifacts/mysql/reads/results/BenchmarkRunner.Benchmarks.MysqlReadBenchmark-report.csv +++ b/benchmark/BenchmarkDotNet.Artifacts/mysql/reads/results/BenchmarkRunner.Benchmarks.MysqlReadBenchmark-report.csv @@ -1,7 +1,7 @@ Method,Job,AnalyzeLaunchVariance,EvaluateOverhead,MaxAbsoluteError,MaxRelativeError,MinInvokeCount,MinIterationTime,OutlierMode,Affinity,EnvironmentVariables,Jit,LargeAddressAware,Platform,PowerPlanMode,Runtime,AllowVeryLargeObjects,Concurrent,CpuGroups,Force,HeapAffinitizeMask,HeapCount,NoAffinitize,RetainVm,Server,Arguments,BuildConfiguration,Clock,EngineFactory,NuGetReferences,Toolchain,IsMutator,InvocationCount,IterationCount,IterationTime,LaunchCount,MaxIterationCount,MaxWarmupIterationCount,MemoryRandomization,MinIterationCount,MinWarmupIterationCount,RunStrategy,UnrollFactor,WarmupCount,Categories,Params,Mean,Error,StdDev,Ratio,RatioSD,Gen0,Gen1,Gen2,Allocated,Alloc Ratio -'SQLC - GetCustomerOrders',Job-OVVOTJ,False,Default,Default,Default,Default,Default,Default,1111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,Default,Default,Default,Default,Default,Default,16,2,Read,"L=1K, C=100, Q=2K",6.180 s,0.1594 s,0.1055 s,1.00,0.00,50000.0000,28000.0000,6000.0000,1243.64 MB,1.00 -'EFCore (NoTracking) - GetCustomerOrders',Job-OVVOTJ,False,Default,Default,Default,Default,Default,Default,1111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,Default,Default,Default,Default,Default,Default,16,2,Read,"L=1K, C=100, Q=2K",10.794 s,0.7980 s,0.5278 s,1.75,0.08,94000.0000,48000.0000,2000.0000,1492.87 MB,1.20 -'EFCore (WithTracking) - GetCustomerOrders',Job-OVVOTJ,False,Default,Default,Default,Default,Default,Default,1111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,Default,Default,Default,Default,Default,Default,16,2,Read,"L=1K, C=100, Q=2K",10.626 s,0.2649 s,0.1576 s,1.72,0.03,94000.0000,48000.0000,2000.0000,1489.05 MB,1.20 -'SQLC - GetCustomerOrders',Job-OVVOTJ,False,Default,Default,Default,Default,Default,Default,1111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,Default,Default,Default,Default,Default,Default,16,2,Read,"L=50, C=200, Q=4K",2.942 s,0.0336 s,0.0200 s,1.00,0.00,10000.0000,6000.0000,2000.0000,178.25 MB,1.00 -'EFCore (NoTracking) - GetCustomerOrders',Job-OVVOTJ,False,Default,Default,Default,Default,Default,Default,1111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,Default,Default,Default,Default,Default,Default,16,2,Read,"L=50, C=200, Q=4K",16.741 s,2.1171 s,1.4003 s,5.67,0.52,50000.0000,10000.0000,1000.0000,783.88 MB,4.40 -'EFCore (WithTracking) - GetCustomerOrders',Job-OVVOTJ,False,Default,Default,Default,Default,Default,Default,1111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,Default,Default,Default,Default,Default,Default,16,2,Read,"L=50, C=200, Q=4K",15.781 s,0.8646 s,0.4522 s,5.36,0.17,48000.0000,9000.0000,0.0000,776.08 MB,4.35 +'SQLC - GetCustomerOrders',Job-MKTQLE,False,Default,Default,Default,Default,Default,Default,1111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,Default,Default,Default,Default,Default,Default,16,2,Read,"L=1K, C=100, Q=2K",6.040 s,0.1213 s,0.0803 s,1.00,0.00,50000.0000,28000.0000,6000.0000,1243.4 MB,1.00 +'EFCore (NoTracking) - GetCustomerOrders',Job-MKTQLE,False,Default,Default,Default,Default,Default,Default,1111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,Default,Default,Default,Default,Default,Default,16,2,Read,"L=1K, C=100, Q=2K",10.158 s,0.2126 s,0.1112 s,1.68,0.03,94000.0000,48000.0000,2000.0000,1492.19 MB,1.20 +'EFCore (WithTracking) - GetCustomerOrders',Job-MKTQLE,False,Default,Default,Default,Default,Default,Default,1111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,Default,Default,Default,Default,Default,Default,16,2,Read,"L=1K, C=100, Q=2K",10.192 s,0.2091 s,0.1383 s,1.69,0.03,94000.0000,48000.0000,2000.0000,1488.34 MB,1.20 +'SQLC - GetCustomerOrders',Job-MKTQLE,False,Default,Default,Default,Default,Default,Default,1111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,Default,Default,Default,Default,Default,Default,16,2,Read,"L=50, C=200, Q=4K",2.849 s,0.0446 s,0.0295 s,1.00,0.00,10000.0000,6000.0000,2000.0000,178.09 MB,1.00 +'EFCore (NoTracking) - GetCustomerOrders',Job-MKTQLE,False,Default,Default,Default,Default,Default,Default,1111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,Default,Default,Default,Default,Default,Default,16,2,Read,"L=50, C=200, Q=4K",15.472 s,3.6460 s,2.4116 s,5.43,0.84,50000.0000,10000.0000,1000.0000,783.42 MB,4.40 +'EFCore (WithTracking) - GetCustomerOrders',Job-MKTQLE,False,Default,Default,Default,Default,Default,Default,1111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,Default,Default,Default,Default,Default,Default,16,2,Read,"L=50, C=200, Q=4K",15.419 s,2.5600 s,1.6933 s,5.42,0.63,50000.0000,11000.0000,2000.0000,775.5 MB,4.35 diff --git a/benchmark/BenchmarkDotNet.Artifacts/mysql/reads/results/BenchmarkRunner.Benchmarks.MysqlReadBenchmark-report.html b/benchmark/BenchmarkDotNet.Artifacts/mysql/reads/results/BenchmarkRunner.Benchmarks.MysqlReadBenchmark-report.html index 308eaf38..65ee60d6 100644 --- a/benchmark/BenchmarkDotNet.Artifacts/mysql/reads/results/BenchmarkRunner.Benchmarks.MysqlReadBenchmark-report.html +++ b/benchmark/BenchmarkDotNet.Artifacts/mysql/reads/results/BenchmarkRunner.Benchmarks.MysqlReadBenchmark-report.html @@ -2,7 +2,7 @@
-