Table of Contents

Performance

Performance is always relative, depending on the scenario and other factors such as hardware, operating system, etc. The results below are therefore indicative rather than absolute.

The benchmark below compares the performance of building SQL queries using the Builder, Fluent Builder, and Dapper's SqlBuilder.

Note

This benchmark does not measure SQL execution times.

Each runtime was benchmarked separately, so Ratio compares against Dapper's SqlBuilder on the same runtime.


BenchmarkDotNet v0.15.8, Windows 11 (10.0.26200.8894/25H2/2025Update/HudsonValley2)
Intel Core Ultra 9 275HX 2.70GHz, 1 CPU, 24 logical and 24 physical cores
.NET SDK 10.0.302
  [Host]             : .NET 10.0.10 (10.0.10, 10.0.1026.32716), X64 RyuJIT x86-64-v3
  .NET 10.0          : .NET 10.0.10 (10.0.10, 10.0.1026.32716), X64 RyuJIT x86-64-v3
  .NET Framework 4.8 : .NET Framework 4.8.1 (4.8.9337.0), X64 RyuJIT VectorSize=256

Legends:
  Categories  : All categories of the corresponded method, class, and assembly
  Mean        : Arithmetic mean of all measurements
  Ratio       : Mean of the ratio distribution ([Current]/[Baseline])
  Allocated   : Allocated memory per single operation (managed only, inclusive, 1KB = 1024B)
  1 ns        : 1 Nanosecond (0.000000001 sec)

Method Runtime Categories Mean Ratio Allocated
SqlBuilder (Dapper) .NET 10.0 Simple query 332.7 ns 1.00 2.89 KB
Builder .NET 10.0 Simple query 417.6 ns 1.26 3.55 KB
FluentBuilder .NET 10.0 Simple query 507.2 ns 1.52 4.3 KB
Builder (Reuse parameters) .NET 10.0 Simple query 713.1 ns 2.14 4.45 KB
FluentBuilder (Reuse parameters) .NET 10.0 Simple query 769.7 ns 2.31 4.54 KB
SqlBuilder (Dapper) .NET Framework 4.8 Simple query 878.4 ns 1.00 3.11 KB
Builder .NET Framework 4.8 Simple query 1,647.1 ns 1.88 4.56 KB
FluentBuilder .NET Framework 4.8 Simple query 2,038.0 ns 2.32 5.2 KB
Builder (Reuse parameters) .NET Framework 4.8 Simple query 2,266.5 ns 2.58 5.18 KB
FluentBuilder (Reuse parameters) .NET Framework 4.8 Simple query 2,538.5 ns 2.89 5.11 KB
SqlBuilder (Dapper) .NET 10.0 Large query 4,057.1 ns 1.00 42.38 KB
Builder .NET 10.0 Large query 6,220.9 ns 1.53 44.45 KB
FluentBuilder .NET 10.0 Large query 7,117.7 ns 1.76 44.3 KB
Builder (Reuse parameters) .NET 10.0 Large query 5,314.7 ns 1.31 19.74 KB
FluentBuilder (Reuse parameters) .NET 10.0 Large query 5,793.7 ns 1.43 19.59 KB
SqlBuilder (Dapper) .NET Framework 4.8 Large query 9,870.6 ns 1.00 46.75 KB
Builder .NET Framework 4.8 Large query 24,934.5 ns 2.53 61.96 KB
FluentBuilder .NET Framework 4.8 Large query 29,487.7 ns 2.99 68.39 KB
Builder (Reuse parameters) .NET Framework 4.8 Large query 16,275.9 ns 1.65 22.87 KB
FluentBuilder (Reuse parameters) .NET Framework 4.8 Large query 21,220.8 ns 2.15 29.33 KB

Refer to the benchmark project for more information.