Benchmark Results

August 17, 2024 ยท View on GitHub

FastGenericNew 3.3.1

Environment

BenchmarkDotNet v0.14.0, Windows 11 (10.0.22631.3958/23H2/2023Update/SunValley3)
AMD Ryzen 9 3900X, 1 CPU, 24 logical and 12 physical cores
.NET SDK 9.0.100-preview.7.24407.12
  [Host]     : .NET 8.0.3 (8.0.324.11423), X64 RyuJIT AVX2
  Job-GFVMQQ : .NET 5.0.17 (5.0.1722.21314), X64 RyuJIT AVX2
  Job-FGYWFO : .NET 6.0.33 (6.0.3324.36610), X64 RyuJIT AVX2
  Job-LODQQQ : .NET 8.0.3 (8.0.324.11423), X64 RyuJIT AVX2
  Job-NXJWMD : .NET 9.0.0 (9.0.24.40507), X64 RyuJIT AVX2
  Job-VBBRLS : .NET Framework 4.8.1 (4.8.9256.0), X64 RyuJIT VectorSize=256

Reference Types

Parameterless

MethodRuntimeMeanErrorStdDevRatioRatioSDGen0AllocatedAlloc Ratio
FastNew.NET 5.02.044 ns0.0787 ns0.0697 ns0.060.000.002924 B1.00
Activator.NET 5.035.792 ns0.3509 ns0.3283 ns1.000.010.002924 B1.00
FastNew.NET 6.02.312 ns0.1038 ns0.1153 ns0.180.010.002924 B1.00
Activator.NET 6.012.680 ns0.1223 ns0.1084 ns1.000.010.002924 B1.00
FastNew.NET 8.03.525 ns0.0248 ns0.0193 ns0.420.010.002924 B1.00
Activator.NET 8.08.425 ns0.1288 ns0.1142 ns1.000.020.002924 B1.00
FastNew.NET 9.03.629 ns0.0487 ns0.0432 ns0.310.000.002924 B1.00
Activator.NET 9.011.843 ns0.1229 ns0.1150 ns1.000.010.002924 B1.00
FastNew.NET Framework 4.8.113.143 ns0.0417 ns0.0326 ns0.270.000.003824 B1.00
Activator.NET Framework 4.8.149.409 ns0.2104 ns0.1968 ns1.000.010.003824 B1.00

Benchmark Result of Reference Types

With parameters

MethodRuntimeMeanErrorStdDevRatioRatioSDGen0AllocatedAlloc Ratio
FastNewWithParams1.NET 5.02.243 ns0.0764 ns0.0677 ns0.0040.000.002924 B0.05
ActivatorWithParams1.NET 5.0522.914 ns3.6361 ns3.2233 ns1.0000.010.0534448 B1.00
FastNewWithParams10.NET 5.04.868 ns0.0299 ns0.0265 ns0.0090.000.002924 B0.05
ActivatorWithParams10.NET 5.01,120.768 ns11.0389 ns10.3257 ns2.1430.020.1163984 B2.20
FastNewWithParams1.NET 6.02.576 ns0.0787 ns0.0736 ns0.0070.000.002924 B0.06
ActivatorWithParams1.NET 6.0355.775 ns2.4181 ns2.2619 ns1.0000.010.0496416 B1.00
FastNewWithParams10.NET 6.04.293 ns0.1423 ns0.1332 ns0.0120.000.002924 B0.06
ActivatorWithParams10.NET 6.0912.066 ns7.5947 ns6.7325 ns2.5640.020.1173984 B2.37
FastNewWithParams1.NET 8.03.932 ns0.1058 ns0.0990 ns0.020.000.002924 B0.06
ActivatorWithParams1.NET 8.0221.870 ns0.8220 ns0.7287 ns1.000.000.0458384 B1.00
FastNewWithParams10.NET 8.05.863 ns0.0890 ns0.0789 ns0.030.000.002924 B0.06
ActivatorWithParams10.NET 8.0467.913 ns3.5657 ns2.9775 ns2.110.010.1011848 B2.21
FastNewWithParams1.NET 9.03.787 ns0.0156 ns0.0138 ns0.020.000.002924 B0.06
ActivatorWithParams1.NET 9.0228.589 ns2.0384 ns1.9067 ns1.000.010.0458384 B1.00
FastNewWithParams10.NET 9.05.876 ns0.0407 ns0.0361 ns0.030.000.002924 B0.06
ActivatorWithParams10.NET 9.0471.132 ns2.6444 ns2.2082 ns2.060.020.1011848 B2.21
FastNewWithParams1.NET Framework 4.8.113.704 ns0.0271 ns0.0226 ns0.020.000.003824 B0.05
ActivatorWithParams1.NET Framework 4.8.1709.988 ns2.3010 ns2.0397 ns1.000.000.0725457 B1.00
FastNewWithParams10.NET Framework 4.8.115.957 ns0.0701 ns0.0656 ns0.020.000.003824 B0.05
ActivatorWithParams10.NET Framework 4.8.11,548.438 ns3.6276 ns3.3933 ns2.180.010.1564995 B2.18

Benchmark Result of Reference Types with parameters

Value types

Parameterless

MethodRuntimeMeanErrorStdDevMedianRatioRatioSDGen0AllocatedAlloc Ratio
FastNew.NET 5.00.0027 ns0.0027 ns0.0024 ns0.0017 ns??--?
Activator.NET 5.00.0017 ns0.0032 ns0.0030 ns0.0000 ns??--?
FastNew.NET 6.00.0000 ns0.0000 ns0.0000 ns0.0000 ns??--?
Activator.NET 6.00.0000 ns0.0000 ns0.0000 ns0.0000 ns??--?
FastNew.NET 8.00.0000 ns0.0000 ns0.0000 ns0.0000 ns??--?
Activator.NET 8.00.0000 ns0.0000 ns0.0000 ns0.0000 ns??--?
FastNew.NET 9.00.0006 ns0.0014 ns0.0012 ns0.0000 ns??--?
Activator.NET 9.00.0017 ns0.0035 ns0.0032 ns0.0000 ns??--?
FastNew.NET Framework 4.8.11.0006 ns0.0023 ns0.0020 ns0.9995 ns0.030.00--0.00
Activator.NET Framework 4.8.138.2332 ns0.2768 ns0.2312 ns38.1499 ns1.000.010.003824 B1.00

Benchmark Result of Value Types

With parameters

MethodRuntimeMeanErrorStdDevRatioRatioSDGen0AllocatedAlloc Ratio
FastNewWithParams1.NET 5.00.4783 ns0.0034 ns0.0032 ns0.0010.00--0.00
ActivatorWithParams1.NET 5.0529.3377 ns2.1951 ns2.0533 ns1.0000.010.0534448 B1.00
FastNewWithParams10.NET 5.02.1353 ns0.0060 ns0.0047 ns0.0040.00--0.00
ActivatorWithParams10.NET 5.01,104.6093 ns6.0086 ns5.3264 ns2.0870.010.1163984 B2.20
FastNewWithParams1.NET 6.00.7093 ns0.0177 ns0.0165 ns0.0020.00--0.00
ActivatorWithParams1.NET 6.0367.3118 ns3.4310 ns3.2094 ns1.0000.010.0496416 B1.00
FastNewWithParams10.NET 6.02.0898 ns0.0181 ns0.0169 ns0.0060.00--0.00
ActivatorWithParams10.NET 6.0897.9462 ns2.5277 ns2.1108 ns2.4450.020.1173984 B2.37
FastNewWithParams1.NET 8.00.4809 ns0.0029 ns0.0026 ns0.0020.00--0.00
ActivatorWithParams1.NET 8.0216.1378 ns1.7263 ns1.5303 ns1.0000.010.0458384 B1.00
FastNewWithParams10.NET 8.02.1464 ns0.0096 ns0.0090 ns0.0100.00--0.00
ActivatorWithParams10.NET 8.0485.1434 ns1.5189 ns1.2683 ns2.2450.020.1011848 B2.21
FastNewWithParams1.NET 9.00.4804 ns0.0028 ns0.0026 ns0.0020.00--0.00
ActivatorWithParams1.NET 9.0219.7569 ns2.3458 ns2.1943 ns1.0000.010.0458384 B1.00
FastNewWithParams10.NET 9.02.0939 ns0.0366 ns0.0342 ns0.0100.00--0.00
ActivatorWithParams10.NET 9.0453.3459 ns4.1613 ns3.6889 ns2.0630.030.1011848 B2.21
FastNewWithParams1.NET Framework 4.8.112.2150 ns0.1013 ns0.0948 ns0.020.00--0.00
ActivatorWithParams1.NET Framework 4.8.1751.5832 ns3.2805 ns2.5612 ns1.000.000.0725457 B1.00
FastNewWithParams10.NET Framework 4.8.114.3714 ns0.1837 ns0.1718 ns0.020.00--0.00
ActivatorWithParams10.NET Framework 4.8.11,582.2390 ns21.1942 ns19.8251 ns2.110.030.1564995 B2.18

Benchmark Result of Value Types with parameters