diff --git a/.env b/.env index 112d6f85..bb0ac6cc 100644 --- a/.env +++ b/.env @@ -5,10 +5,6 @@ SQLITE_CONNECTION_STRING="Data Source=tests.db;Mode=ReadWrite" MYSQL_CONNECTION_STRING="server=localhost;database=tests;user=root;AllowLoadLocalInfile=true;ConvertZeroDateTime=True" POSTGRES_CONNECTION_STRING="host=localhost;database=tests;username=postgres;password=pass;IncludeErrorDetail=true" -SQLITE_BENCHMARK_CONNECTION_STRING="Data Source=benchmark.db;Mode=ReadWrite" -MYSQL_BENCHMARK_CONNECTION_STRING="server=localhost;database=sales;user=root;AllowLoadLocalInfile=true;ConvertZeroDateTime=True" -POSTGRES_BENCHMARK_CONNECTION_STRING="host=localhost;database=tests;username=postgres;password=pass;IncludeErrorDetail=true" - POSTGRES_USER="postgres" POSTGRES_PASSWORD="pass" TESTS_DB="tests" \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 77670280..191346a6 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -19,6 +19,9 @@ jobs: benchmark-mysql-reads: name: MySQL Reads Benchmark runs-on: ubuntu-latest + defaults: + run: + working-directory: ./benchmark steps: - uses: actions/checkout@v4 @@ -32,6 +35,7 @@ jobs: uses: xom9ikk/dotenv@v2.3.0 with: load-mode: strict + path: benchmark - name: Docker compose uses: hoverkraft-tech/compose-action@v1.5.1 @@ -39,18 +43,21 @@ jobs: services: mysqldb - name: Run Benchmark - run: ./benchmark/scripts/run_single_benchmark.sh mysql reads + run: ./scripts/run_single_benchmark.sh mysql reads - name: Upload Results uses: actions/upload-artifact@v4 if: success() with: name: mysql-reads-results - path: benchmark/BenchmarkDotNet.Artifacts/mysql/reads + path: BenchmarkDotNet.Artifacts/mysql/reads benchmark-mysql-writes: name: MySQL Writes Benchmark runs-on: ubuntu-latest + defaults: + run: + working-directory: ./benchmark steps: - uses: actions/checkout@v4 @@ -64,6 +71,7 @@ jobs: uses: xom9ikk/dotenv@v2.3.0 with: load-mode: strict + path: benchmark - name: Docker compose uses: hoverkraft-tech/compose-action@v1.5.1 @@ -71,18 +79,21 @@ jobs: services: mysqldb - name: Run Benchmark - run: ./benchmark/scripts/run_single_benchmark.sh mysql writes + run: ./scripts/run_single_benchmark.sh mysql writes - name: Upload Results uses: actions/upload-artifact@v4 if: success() with: name: mysql-writes-results - path: benchmark/BenchmarkDotNet.Artifacts/mysql/writes + path: BenchmarkDotNet.Artifacts/mysql/writes benchmark-postgresql-reads: name: PostgreSQL Reads Benchmark runs-on: ubuntu-latest + defaults: + run: + working-directory: ./benchmark steps: - uses: actions/checkout@v4 @@ -96,6 +107,7 @@ jobs: uses: xom9ikk/dotenv@v2.3.0 with: load-mode: strict + path: benchmark - name: Docker compose uses: hoverkraft-tech/compose-action@v1.5.1 @@ -103,18 +115,21 @@ jobs: services: postgresdb - name: Run Benchmark - run: ./benchmark/scripts/run_single_benchmark.sh postgresql reads + run: ./scripts/run_single_benchmark.sh postgresql reads - name: Upload Results uses: actions/upload-artifact@v4 if: success() with: name: postgresql-reads-results - path: benchmark/BenchmarkDotNet.Artifacts/postgresql/reads + path: BenchmarkDotNet.Artifacts/postgresql/reads benchmark-postgresql-writes: name: PostgreSQL Writes Benchmark runs-on: ubuntu-latest + defaults: + run: + working-directory: ./benchmark steps: - uses: actions/checkout@v4 @@ -128,6 +143,7 @@ jobs: uses: xom9ikk/dotenv@v2.3.0 with: load-mode: strict + path: benchmark - name: Docker compose uses: hoverkraft-tech/compose-action@v1.5.1 @@ -135,18 +151,21 @@ jobs: services: postgresdb - name: Run Benchmark - run: ./benchmark/scripts/run_single_benchmark.sh postgresql writes + run: ./scripts/run_single_benchmark.sh postgresql writes - name: Upload Results uses: actions/upload-artifact@v4 if: success() with: name: postgresql-writes-results - path: benchmark/BenchmarkDotNet.Artifacts/postgresql/writes + path: BenchmarkDotNet.Artifacts/postgresql/writes benchmark-sqlite-reads: name: SQLite Reads Benchmark runs-on: ubuntu-latest + defaults: + run: + working-directory: ./benchmark steps: - uses: actions/checkout@v4 @@ -160,20 +179,24 @@ jobs: uses: xom9ikk/dotenv@v2.3.0 with: load-mode: strict + path: benchmark - name: Run Benchmark - run: ./benchmark/scripts/run_single_benchmark.sh sqlite reads + run: ./scripts/run_single_benchmark.sh sqlite reads - name: Upload Results uses: actions/upload-artifact@v4 if: success() with: name: sqlite-reads-results - path: benchmark/BenchmarkDotNet.Artifacts/sqlite/reads + path: BenchmarkDotNet.Artifacts/sqlite/reads benchmark-sqlite-writes: name: SQLite Writes Benchmark runs-on: ubuntu-latest + defaults: + run: + working-directory: ./benchmark steps: - uses: actions/checkout@v4 @@ -187,21 +210,25 @@ jobs: uses: xom9ikk/dotenv@v2.3.0 with: load-mode: strict + path: benchmark - name: Run Benchmark - run: ./benchmark/scripts/run_single_benchmark.sh sqlite writes + run: ./scripts/run_single_benchmark.sh sqlite writes - name: Upload Results uses: actions/upload-artifact@v4 if: success() with: name: sqlite-writes-results - path: benchmark/BenchmarkDotNet.Artifacts/sqlite/writes + path: BenchmarkDotNet.Artifacts/sqlite/writes push-results: name: Push Results runs-on: ubuntu-latest - if: always() + defaults: + run: + working-directory: ./benchmark + if: always() && github.event_name == 'release' needs: [ benchmark-mysql-reads, benchmark-mysql-writes, benchmark-postgresql-reads, benchmark-postgresql-writes, @@ -215,37 +242,40 @@ jobs: uses: actions/download-artifact@v4 with: name: mysql-reads-results - path: benchmark/BenchmarkDotNet.Artifacts/mysql/reads + path: BenchmarkDotNet.Artifacts/mysql/reads - name: Download MySQL Writes Results uses: actions/download-artifact@v4 with: name: mysql-writes-results - path: benchmark/BenchmarkDotNet.Artifacts/mysql/writes + path: BenchmarkDotNet.Artifacts/mysql/writes - name: Download PostgreSQL Reads Results uses: actions/download-artifact@v4 with: name: postgresql-reads-results - path: benchmark/BenchmarkDotNet.Artifacts/postgresql/reads + path: BenchmarkDotNet.Artifacts/postgresql/reads - name: Download PostgreSQL Writes Results uses: actions/download-artifact@v4 with: name: postgresql-writes-results - path: benchmark/BenchmarkDotNet.Artifacts/postgresql/writes + path: BenchmarkDotNet.Artifacts/postgresql/writes - name: Download SQLite Reads Results uses: actions/download-artifact@v4 with: name: sqlite-reads-results - path: benchmark/BenchmarkDotNet.Artifacts/sqlite/reads + path: BenchmarkDotNet.Artifacts/sqlite/reads - name: Download SQLite Writes Results uses: actions/download-artifact@v4 with: name: sqlite-writes-results - path: benchmark/BenchmarkDotNet.Artifacts/sqlite/writes + path: BenchmarkDotNet.Artifacts/sqlite/writes + + - name: Update Wasm Plugin + run: ./scripts/update_wasm_plugin.sh - name: Create Pull Request uses: peter-evans/create-pull-request@v6 diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 2799e920..3a60f2d3 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -21,7 +21,10 @@ jobs: unit-tests: name: Unit Tests runs-on: ubuntu-latest - + defaults: + run: + working-directory: ./unit-tests + steps: - uses: actions/checkout@v4 @@ -30,16 +33,15 @@ jobs: sqlc-version: '${{ env.SQLC_VERSION }}' - name: Dotnet publish - run: dotnet publish LocalRunner -c release --output dist/ + run: dotnet publish ../LocalRunner -c release --output dist/ - name: Verify pushed generated code is synced - run: | - sqlc -f sqlc.unit.test.yaml diff + run: sqlc diff - name: Run Tests run: | - dotnet test unit-tests/RepositoryTests - dotnet test unit-tests/CodegenTests + dotnet test RepositoryTests + dotnet test CodegenTests end2end-tests: name: End-to-End Tests @@ -62,4 +64,4 @@ jobs: uses: hoverkraft-tech/compose-action@v1.5.1 - name: Run Tests - run: ./end2end/scripts/run_tests.sh \ No newline at end of file + run: ./end2end/scripts/run_tests.sh diff --git a/.gitignore b/.gitignore index 84a44144..e0820e4c 100644 --- a/.gitignore +++ b/.gitignore @@ -139,4 +139,7 @@ docker-upload/* plugin.wasm *.db -.env.bak \ No newline at end of file +.env.bak +**/.env.bak + +**/*.wasm \ No newline at end of file diff --git a/Makefile b/Makefile index 5e223c9c..467f692c 100644 --- a/Makefile +++ b/Makefile @@ -6,9 +6,10 @@ dotnet-build: .PHONY: unit-tests unit-tests: - dotnet test unit-tests/RepositoryTests - sqlc generate -f sqlc.unit.test.yaml - dotnet test unit-tests/CodegenTests + cd unit-tests && \ + dotnet test RepositoryTests && \ + SQLCCACHE=./; sqlc generate && \ + dotnet test CodegenTests generate-end2end-tests: ./end2end/scripts/generate_tests.sh @@ -50,22 +51,25 @@ run-end2end-tests: ./end2end/scripts/run_tests.sh # Benchmarks -run-benchmark-sqlite-reads: sqlc-generate +sqlc-generate-benchmark: + SQLCCACHE=./; sqlc -f benchmark/sqlc.yaml generate + +run-benchmark-sqlite-reads: sqlc-generate-benchmark ./benchmark/scripts/run_single_benchmark.sh sqlite reads -run-benchmark-sqlite-writes: sqlc-generate +run-benchmark-sqlite-writes: sqlc-generate-benchmark ./benchmark/scripts/run_single_benchmark.sh sqlite writes -run-benchmark-postgresql-reads: sqlc-generate +run-benchmark-postgresql-reads: sqlc-generate-benchmark ./benchmark/scripts/run_single_benchmark.sh postgresql reads -run-benchmark-postgresql-writes: sqlc-generate +run-benchmark-postgresql-writes: sqlc-generate-benchmark ./benchmark/scripts/run_single_benchmark.sh postgresql writes -run-benchmark-mysql-reads: sqlc-generate +run-benchmark-mysql-reads: sqlc-generate-benchmark ./benchmark/scripts/run_single_benchmark.sh mysql reads -run-benchmark-mysql-writes: sqlc-generate +run-benchmark-mysql-writes: sqlc-generate-benchmark ./benchmark/scripts/run_single_benchmark.sh mysql writes # Manual diff --git a/benchmark/.env b/benchmark/.env new file mode 100644 index 00000000..eb305e9f --- /dev/null +++ b/benchmark/.env @@ -0,0 +1,7 @@ +SQLITE_CONNECTION_STRING="Data Source=benchmark.db;Mode=ReadWrite" +MYSQL_CONNECTION_STRING="server=localhost;database=sales;user=root;AllowLoadLocalInfile=true;ConvertZeroDateTime=True" +POSTGRES_CONNECTION_STRING="host=localhost;database=tests;username=postgres;password=pass;IncludeErrorDetail=true" + +POSTGRES_USER="postgres" +POSTGRES_PASSWORD="pass" +TESTS_DB="tests" \ No newline at end of file diff --git a/benchmark/BenchmarkDotNet.Artifacts/sqlite/reads/results/BenchmarkRunner.Benchmarks.SqliteReadBenchmark-report-github.md b/benchmark/BenchmarkDotNet.Artifacts/sqlite/reads/results/BenchmarkRunner.Benchmarks.SqliteReadBenchmark-report-github.md index 38eb2b27..b592ce9f 100644 --- a/benchmark/BenchmarkDotNet.Artifacts/sqlite/reads/results/BenchmarkRunner.Benchmarks.SqliteReadBenchmark-report-github.md +++ b/benchmark/BenchmarkDotNet.Artifacts/sqlite/reads/results/BenchmarkRunner.Benchmarks.SqliteReadBenchmark-report-github.md @@ -1,21 +1,29 @@ ``` -BenchmarkDotNet v0.13.12, Ubuntu 24.04.3 LTS (Noble Numbat) -AMD EPYC 7763, 1 CPU, 4 logical and 2 physical cores +BenchmarkDotNet v0.13.12, macOS 15.6.1 (24G90) [Darwin 24.6.0] +Apple M2, 1 CPU, 8 logical and 8 physical cores .NET SDK 8.0.416 - [Host] : .NET 8.0.22 (8.0.2225.52707), X64 RyuJIT AVX2 - Job-EHHQBB : .NET 8.0.22 (8.0.2225.52707), X64 RyuJIT AVX2 + [Host] : .NET 8.0.22 (8.0.2225.52707), Arm64 RyuJIT AdvSIMD + Job-YXOMNI : .NET 8.0.22 (8.0.2225.52707), Arm64 RyuJIT AdvSIMD Runtime=.NET 8.0 IterationCount=10 WarmupCount=2 Categories=Read ``` -| Method | Params | Mean | Error | StdDev | Ratio | Gen0 | Gen1 | Gen2 | Allocated | Alloc Ratio | -|-------------------------------------------- |------------------ |---------:|---------:|---------:|------:|-----------:|-----------:|----------:|-----------:|------------:| -| **'SQLC - GetCustomerOrders'** | **L=1K, C=50, Q=1K** | **9.540 s** | **0.0328 s** | **0.0195 s** | **1.00** | **49000.0000** | **48000.0000** | **6000.0000** | **1010.09 MB** | **1.00** | -| 'EFCore (NoTracking) - GetCustomerOrders' | L=1K, C=50, Q=1K | 11.339 s | 0.0371 s | 0.0245 s | 1.19 | 72000.0000 | 71000.0000 | 4000.0000 | 1129.55 MB | 1.12 | -| 'EFCore (WithTracking) - GetCustomerOrders' | L=1K, C=50, Q=1K | 11.197 s | 0.0869 s | 0.0575 s | 1.17 | 72000.0000 | 71000.0000 | 4000.0000 | 1126.92 MB | 1.12 | -| | | | | | | | | | | | -| **'SQLC - GetCustomerOrders'** | **L=50, C=100, Q=3K** | **9.170 s** | **0.0209 s** | **0.0138 s** | **1.00** | **7000.0000** | **6000.0000** | **2000.0000** | **127.38 MB** | **1.00** | -| 'EFCore (NoTracking) - GetCustomerOrders' | L=50, C=100, Q=3K | 10.266 s | 0.0198 s | 0.0131 s | 1.12 | 22000.0000 | 8000.0000 | 2000.0000 | 343.46 MB | 2.70 | -| 'EFCore (WithTracking) - GetCustomerOrders' | L=50, C=100, Q=3K | 10.201 s | 0.0128 s | 0.0076 s | 1.11 | 22000.0000 | 8000.0000 | 2000.0000 | 339.6 MB | 2.67 | +| Method | Params | Mean | Error | Ratio | RatioSD | Alloc Ratio | +|-------------------------------------------- |------------------ |-----:|------:|------:|--------:|------------:| +| **'SQLC - GetCustomerOrders'** | **L=1K, C=50, Q=1K** | **NA** | **NA** | **?** | **?** | **?** | +| 'EFCore (NoTracking) - GetCustomerOrders' | L=1K, C=50, Q=1K | NA | NA | ? | ? | ? | +| 'EFCore (WithTracking) - GetCustomerOrders' | L=1K, C=50, Q=1K | NA | NA | ? | ? | ? | +| | | | | | | | +| **'SQLC - GetCustomerOrders'** | **L=50, C=100, Q=3K** | **NA** | **NA** | **?** | **?** | **?** | +| 'EFCore (NoTracking) - GetCustomerOrders' | L=50, C=100, Q=3K | NA | NA | ? | ? | ? | +| 'EFCore (WithTracking) - GetCustomerOrders' | L=50, C=100, Q=3K | NA | NA | ? | ? | ? | + +Benchmarks with issues: + SqliteReadBenchmark.'SQLC - GetCustomerOrders': Job-YXOMNI(Runtime=.NET 8.0, IterationCount=10, WarmupCount=2) [Params=L=1K, C=50, Q=1K] + SqliteReadBenchmark.'EFCore (NoTracking) - GetCustomerOrders': Job-YXOMNI(Runtime=.NET 8.0, IterationCount=10, WarmupCount=2) [Params=L=1K, C=50, Q=1K] + SqliteReadBenchmark.'EFCore (WithTracking) - GetCustomerOrders': Job-YXOMNI(Runtime=.NET 8.0, IterationCount=10, WarmupCount=2) [Params=L=1K, C=50, Q=1K] + SqliteReadBenchmark.'SQLC - GetCustomerOrders': Job-YXOMNI(Runtime=.NET 8.0, IterationCount=10, WarmupCount=2) [Params=L=50, C=100, Q=3K] + SqliteReadBenchmark.'EFCore (NoTracking) - GetCustomerOrders': Job-YXOMNI(Runtime=.NET 8.0, IterationCount=10, WarmupCount=2) [Params=L=50, C=100, Q=3K] + SqliteReadBenchmark.'EFCore (WithTracking) - GetCustomerOrders': Job-YXOMNI(Runtime=.NET 8.0, IterationCount=10, WarmupCount=2) [Params=L=50, C=100, Q=3K] diff --git a/benchmark/BenchmarkDotNet.Artifacts/sqlite/reads/results/BenchmarkRunner.Benchmarks.SqliteReadBenchmark-report.csv b/benchmark/BenchmarkDotNet.Artifacts/sqlite/reads/results/BenchmarkRunner.Benchmarks.SqliteReadBenchmark-report.csv index 6b64e395..bfc0ae1c 100644 --- a/benchmark/BenchmarkDotNet.Artifacts/sqlite/reads/results/BenchmarkRunner.Benchmarks.SqliteReadBenchmark-report.csv +++ b/benchmark/BenchmarkDotNet.Artifacts/sqlite/reads/results/BenchmarkRunner.Benchmarks.SqliteReadBenchmark-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,Gen0,Gen1,Gen2,Allocated,Alloc Ratio -'SQLC - GetCustomerOrders',Job-EHHQBB,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=50, Q=1K",9.540 s,0.0328 s,0.0195 s,1.00,49000.0000,48000.0000,6000.0000,1010.09 MB,1.00 -'EFCore (NoTracking) - GetCustomerOrders',Job-EHHQBB,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=50, Q=1K",11.339 s,0.0371 s,0.0245 s,1.19,72000.0000,71000.0000,4000.0000,1129.55 MB,1.12 -'EFCore (WithTracking) - GetCustomerOrders',Job-EHHQBB,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=50, Q=1K",11.197 s,0.0869 s,0.0575 s,1.17,72000.0000,71000.0000,4000.0000,1126.92 MB,1.12 -'SQLC - GetCustomerOrders',Job-EHHQBB,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=100, Q=3K",9.170 s,0.0209 s,0.0138 s,1.00,7000.0000,6000.0000,2000.0000,127.38 MB,1.00 -'EFCore (NoTracking) - GetCustomerOrders',Job-EHHQBB,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=100, Q=3K",10.266 s,0.0198 s,0.0131 s,1.12,22000.0000,8000.0000,2000.0000,343.46 MB,2.70 -'EFCore (WithTracking) - GetCustomerOrders',Job-EHHQBB,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=100, Q=3K",10.201 s,0.0128 s,0.0076 s,1.11,22000.0000,8000.0000,2000.0000,339.6 MB,2.67 +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,Ratio,RatioSD,Alloc Ratio +'SQLC - GetCustomerOrders',Job-YXOMNI,False,Default,Default,Default,Default,Default,Default,00000000,Empty,RyuJit,Default,Arm64,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=50, Q=1K",NA,NA,?,?,? +'EFCore (NoTracking) - GetCustomerOrders',Job-YXOMNI,False,Default,Default,Default,Default,Default,Default,00000000,Empty,RyuJit,Default,Arm64,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=50, Q=1K",NA,NA,?,?,? +'EFCore (WithTracking) - GetCustomerOrders',Job-YXOMNI,False,Default,Default,Default,Default,Default,Default,00000000,Empty,RyuJit,Default,Arm64,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=50, Q=1K",NA,NA,?,?,? +'SQLC - GetCustomerOrders',Job-YXOMNI,False,Default,Default,Default,Default,Default,Default,00000000,Empty,RyuJit,Default,Arm64,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=100, Q=3K",NA,NA,?,?,? +'EFCore (NoTracking) - GetCustomerOrders',Job-YXOMNI,False,Default,Default,Default,Default,Default,Default,00000000,Empty,RyuJit,Default,Arm64,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=100, Q=3K",NA,NA,?,?,? +'EFCore (WithTracking) - GetCustomerOrders',Job-YXOMNI,False,Default,Default,Default,Default,Default,Default,00000000,Empty,RyuJit,Default,Arm64,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=100, Q=3K",NA,NA,?,?,? diff --git a/benchmark/BenchmarkDotNet.Artifacts/sqlite/reads/results/BenchmarkRunner.Benchmarks.SqliteReadBenchmark-report.html b/benchmark/BenchmarkDotNet.Artifacts/sqlite/reads/results/BenchmarkRunner.Benchmarks.SqliteReadBenchmark-report.html index bd7d5c9c..bf434087 100644 --- a/benchmark/BenchmarkDotNet.Artifacts/sqlite/reads/results/BenchmarkRunner.Benchmarks.SqliteReadBenchmark-report.html +++ b/benchmark/BenchmarkDotNet.Artifacts/sqlite/reads/results/BenchmarkRunner.Benchmarks.SqliteReadBenchmark-report.html @@ -2,7 +2,7 @@
-