// Inspired by https://twitter.com/Nick_Craver/status/702693060472414208
public class Framework_Interpolated_vs_ToString
{
private long counter = 0;
[Setup]
public void Setup()
{
counter = 0;
}
[Benchmark]
public new string ToString()
{
return counter.ToString() + " ms";
}
[Benchmark]
public string InterpolatedString()
{
return $"{counter} ms";
}
}
-
-
Save mattwarren/d2be775eec5a7adba928 to your computer and use it in GitHub Desktop.
mattwarren
commented
Feb 25, 2016
// * Detailed results *
Framework_Interpolated_vs_ToString_InterpolatedString
Mean = 208.3594 ns, StdError = 2.1284 ns (1.02%); N = 24, StdDev = 10.4271 ns
Min = 201.8534 ns, Q1 = 202.9298 ns, Median = 204.0991 ns, Q3 = 208.5051 ns, Max = 236.9331 ns
IQR = 5.5753 ns, LowerFence = 194.5669 ns, UpperFence = 216.8680 ns
ConfidenceInterval = [204.1877 ns; 212.5311 ns] (CI 95%)
Framework_Interpolated_vs_ToString_ToString
Mean = 87.0203 ns, StdError = 0.1892 ns (0.22%); N = 20, StdDev = 0.8461 ns
Min = 86.0325 ns, Q1 = 86.3843 ns, Median = 86.6773 ns, Q3 = 87.4458 ns, Max = 89.2277 ns
IQR = 1.0615 ns, LowerFence = 84.7921 ns, UpperFence = 89.0381 ns
ConfidenceInterval = [86.6495 ns; 87.3911 ns] (CI 95%)
Total time: 00:00:48 (48.24 sec)
// * Summary *
BenchmarkDotNet-Dev=v0.9.1.0+
OS=Microsoft Windows NT 6.1.7601 Service Pack 1
Processor=Intel(R) Core(TM) i7-4800MQ CPU @ 2.70GHz, ProcessorCount=8
Frequency=2630771 ticks, Resolution=380.1167 ns, Timer=TSC
HostCLR=MS.NET 4.0.30319.42000, Arch=64-bit RELEASE [RyuJIT]
JitModules=clrjit-v4.6.100.0
Type=Framework_Interpolated_vs_ToString Mode=Throughput
Method | Median | StdDev | Gen 0 | Gen 1 | Gen 2 | Memory Traffic/Op |
---|---|---|---|---|---|---|
InterpolatedString | 204.0991 ns | 10.4271 ns | 607 | - | - | 38.98 B |
ToString | 86.6773 ns | 0.8461 ns | 522 | - | - | 33.87 B |
Full Output Log
// ***** BenchmarkRunner: Start *****
// Found benchmarks:
// Framework_Interpolated_vs_ToString_InterpolatedString
// Framework_Interpolated_vs_ToString_ToString
// **************************
// Benchmark: Framework_Interpolated_vs_ToString_InterpolatedString
// *** Generate ***
// Result = Success
// DirectoryPath = C:\Users\warma11\Downloads__GitHub__\BenchmarkDotNet\BenchmarkDotNet.Samples\bin\Release\Framework_Interpolated_vs_ToString_InterpolatedString
// *** Build ***
// Result = Success
// *** Execute ***
// Launch: 1
// BenchmarkDotNet-Dev=v0.9.1.0+
// OS=Microsoft Windows NT 6.1.7601 Service Pack 1
// Processor=Intel(R) Core(TM) i7-4800MQ CPU @ 2.70GHz, ProcessorCount=8
// Frequency=2630771 ticks, Resolution=380.1167 ns, Timer=TSC
// CLR=MS.NET 4.0.30319.42000, Arch=64-bit RELEASE [RyuJIT]
// JitModules=clrjit-v4.6.100.0
Pilot 1: 4 op, 216666.52 ns, 54.1666 us/op
Pilot 2: 8 op, 7222.22 ns, 902.7772 ns/op
Pilot 3: 16 op, 9122.8 ns, 570.1751 ns/op
Pilot 4: 32 op, 14444.43 ns, 451.3886 ns/op
Pilot 5: 64 op, 24707.59 ns, 386.0560 ns/op
Pilot 6: 128 op, 46754.35 ns, 365.2684 ns/op
Pilot 7: 256 op, 93128.59 ns, 363.7836 ns/op
Pilot 8: 512 op, 182075.9 ns, 355.6170 ns/op
Pilot 9: 1024 op, 361871.1 ns, 353.3897 ns/op
Pilot 10: 2048 op, 717280.22 ns, 350.2345 ns/op
Pilot 11: 4096 op, 1501080.86 ns, 366.4748 ns/op
Pilot 12: 8192 op, 3065641.21 ns, 374.2238 ns/op
Pilot 13: 16384 op, 3996547.02 ns, 243.9299 ns/op
Pilot 14: 32768 op, 6933708.79 ns, 211.6000 ns/op
Pilot 15: 65536 op, 13311686.95 ns, 203.1202 ns/op
Pilot 16: 131072 op, 26694835.85 ns, 203.6654 ns/op
Pilot 17: 262144 op, 53368765.28 ns, 203.5857 ns/op
Pilot 18: 524288 op, 107257910.32 ns, 204.5782 ns/op
Pilot 19: 1048576 op, 213721756.85 ns, 203.8210 ns/op
IdleWarmup 1: 1048576 op, 2130934.24 ns, 2.0322 ns/op
IdleWarmup 2: 1048576 op, 2119910.86 ns, 2.0217 ns/op
IdleWarmup 3: 1048576 op, 2115349.45 ns, 2.0174 ns/op
IdleWarmup 4: 1048576 op, 2110788.05 ns, 2.0130 ns/op
IdleWarmup 5: 1048576 op, 2120290.97 ns, 2.0221 ns/op
IdleWarmup 6: 1048576 op, 2142717.86 ns, 2.0435 ns/op
IdleWarmup 7: 1048576 op, 2242308.43 ns, 2.1384 ns/op
IdleTarget 1: 1048576 op, 2114589.22 ns, 2.0166 ns/op
IdleTarget 2: 1048576 op, 2356343.44 ns, 2.2472 ns/op
IdleTarget 3: 1048576 op, 2102805.6 ns, 2.0054 ns/op
IdleTarget 4: 1048576 op, 2118390.39 ns, 2.0203 ns/op
IdleTarget 5: 1048576 op, 2108507.35 ns, 2.0108 ns/op
IdleTarget 6: 1048576 op, 2121811.44 ns, 2.0235 ns/op
IdleTarget 7: 1048576 op, 2123712.02 ns, 2.0253 ns/op
IdleTarget 8: 1048576 op, 2116109.69 ns, 2.0181 ns/op
IdleTarget 9: 1048576 op, 2110788.05 ns, 2.0130 ns/op
IdleTarget 10: 1048576 op, 2115729.57 ns, 2.0177 ns/op
MainWarmup 1: 1048576 op, 213668160.4 ns, 203.7698 ns/op
MainWarmup 2: 1048576 op, 217481871.28 ns, 207.4069 ns/op
MainWarmup 3: 1048576 op, 213592137.06 ns, 203.6973 ns/op
MainWarmup 4: 1048576 op, 215949620.85 ns, 205.9456 ns/op
MainWarmup 5: 1048576 op, 215467252.76 ns, 205.4856 ns/op
MainWarmup 6: 1048576 op, 214267224.32 ns, 204.3411 ns/op
MainWarmup 7: 1048576 op, 214806229.81 ns, 204.8552 ns/op
MainTarget 1: 1048576 op, 214783422.81 ns, 204.8334 ns/op
MainTarget 2: 1048576 op, 214924826.22 ns, 204.9683 ns/op
MainTarget 3: 1048576 op, 214080967.14 ns, 204.1635 ns/op
MainTarget 4: 1048576 op, 215121346.56 ns, 205.1557 ns/op
MainTarget 5: 1048576 op, 216494708.21 ns, 206.4654 ns/op
MainTarget 6: 1048576 op, 215293159.31 ns, 205.3196 ns/op
MainTarget 7: 1048576 op, 224079937.02 ns, 213.6993 ns/op
MainTarget 8: 1048576 op, 216566170.15 ns, 206.5336 ns/op
MainTarget 9: 1048576 op, 215920731.98 ns, 205.9181 ns/op
MainTarget 10: 1048576 op, 213774593.08 ns, 203.8713 ns/op
Result 1: 1048576 op, 212667503.18 ns, 202.8155 ns/op
Result 2: 1048576 op, 212808906.59 ns, 202.9504 ns/op
Result 3: 1048576 op, 211965047.51 ns, 202.1456 ns/op
Result 4: 1048576 op, 213005426.93 ns, 203.1378 ns/op
Result 5: 1048576 op, 214378788.58 ns, 204.4475 ns/op
Result 6: 1048576 op, 213177239.68 ns, 203.3017 ns/op
Result 7: 1048576 op, 221964017.39 ns, 211.6814 ns/op
Result 8: 1048576 op, 214450250.52 ns, 204.5157 ns/op
Result 9: 1048576 op, 213804812.35 ns, 203.9002 ns/op
Result 10: 1048576 op, 211658673.45 ns, 201.8534 ns/op
// Launch: 2
// BenchmarkDotNet-Dev=v0.9.1.0+
// OS=Microsoft Windows NT 6.1.7601 Service Pack 1
// Processor=Intel(R) Core(TM) i7-4800MQ CPU @ 2.70GHz, ProcessorCount=8
// Frequency=2630771 ticks, Resolution=380.1167 ns, Timer=TSC
// CLR=MS.NET 4.0.30319.42000, Arch=64-bit RELEASE [RyuJIT]
// JitModules=clrjit-v4.6.100.0
Pilot 1: 4 op, 254298.07 ns, 63.5745 us/op
Pilot 2: 8 op, 10643.27 ns, 1.3304 us/op
Pilot 3: 16 op, 11403.5 ns, 712.7188 ns/op
Pilot 4: 32 op, 15204.67 ns, 475.1459 ns/op
Pilot 5: 64 op, 28888.87 ns, 451.3886 ns/op
Pilot 6: 128 op, 50175.4 ns, 391.9954 ns/op
Pilot 7: 256 op, 99210.46 ns, 387.5409 ns/op
Pilot 8: 512 op, 204122.67 ns, 398.6771 ns/op
Pilot 9: 1024 op, 384678.1 ns, 375.6622 ns/op
Pilot 10: 2048 op, 781139.83 ns, 381.4159 ns/op
Pilot 11: 4096 op, 1675554.43 ns, 409.0709 ns/op
Pilot 12: 8192 op, 3332483.14 ns, 406.7973 ns/op
Pilot 13: 16384 op, 6638358.11 ns, 405.1732 ns/op
Pilot 14: 32768 op, 7008971.89 ns, 213.8968 ns/op
Pilot 15: 65536 op, 13306745.44 ns, 203.0448 ns/op
Pilot 16: 131072 op, 26607409.01 ns, 202.9984 ns/op
Pilot 17: 262144 op, 54109232.62 ns, 206.4103 ns/op
Pilot 18: 524288 op, 106948875.44 ns, 203.9888 ns/op
Pilot 19: 1048576 op, 214950294.04 ns, 204.9926 ns/op
IdleWarmup 1: 1048576 op, 2159442.99 ns, 2.0594 ns/op
IdleWarmup 2: 1048576 op, 2118390.39 ns, 2.0203 ns/op
IdleWarmup 3: 1048576 op, 2119530.74 ns, 2.0213 ns/op
IdleWarmup 4: 1048576 op, 2116489.8 ns, 2.0184 ns/op
IdleWarmup 5: 1048576 op, 2117630.15 ns, 2.0195 ns/op
IdleWarmup 6: 1048576 op, 2113828.99 ns, 2.0159 ns/op
IdleWarmup 7: 1048576 op, 2116109.69 ns, 2.0181 ns/op
IdleTarget 1: 1048576 op, 2113828.99 ns, 2.0159 ns/op
IdleTarget 2: 1048576 op, 2106226.65 ns, 2.0087 ns/op
IdleTarget 3: 1048576 op, 2102805.6 ns, 2.0054 ns/op
IdleTarget 4: 1048576 op, 2143097.97 ns, 2.0438 ns/op
IdleTarget 5: 1048576 op, 2109267.59 ns, 2.0116 ns/op
IdleTarget 6: 1048576 op, 2131694.47 ns, 2.0329 ns/op
IdleTarget 7: 1048576 op, 2121811.44 ns, 2.0235 ns/op
IdleTarget 8: 1048576 op, 2118770.5 ns, 2.0206 ns/op
IdleTarget 9: 1048576 op, 2116489.8 ns, 2.0184 ns/op
IdleTarget 10: 1048576 op, 2322513.06 ns, 2.2149 ns/op
MainWarmup 1: 1048576 op, 227694466.76 ns, 217.1464 ns/op
MainWarmup 2: 1048576 op, 213296786.38 ns, 203.4157 ns/op
MainWarmup 3: 1048576 op, 213273599.26 ns, 203.3936 ns/op
MainWarmup 4: 1048576 op, 214803188.88 ns, 204.8523 ns/op
MainWarmup 5: 1048576 op, 215461170.89 ns, 205.4798 ns/op
MainWarmup 6: 1048576 op, 217630496.92 ns, 207.5486 ns/op
MainTarget 1: 1048576 op, 214757194.75 ns, 204.8084 ns/op
MainTarget 2: 1048576 op, 215472574.39 ns, 205.4907 ns/op
MainTarget 3: 1048576 op, 250027463.43 ns, 238.4448 ns/op
MainTarget 4: 1048576 op, 250560006.93 ns, 238.9526 ns/op
MainTarget 5: 1048576 op, 215831404.56 ns, 205.8329 ns/op
MainTarget 6: 1048576 op, 222909557.69 ns, 212.5831 ns/op
MainTarget 7: 1048576 op, 242720480.04 ns, 231.4763 ns/op
MainTarget 8: 1048576 op, 222576955.58 ns, 212.2659 ns/op
MainTarget 9: 1048576 op, 213794739.26 ns, 203.8906 ns/op
MainTarget 10: 1048576 op, 218125408.86 ns, 208.0206 ns/op
MainTarget 11: 1048576 op, 214883393.5 ns, 204.9288 ns/op
MainTarget 12: 1048576 op, 218925174.41 ns, 208.7833 ns/op
MainTarget 13: 1048576 op, 216339620.59 ns, 206.3175 ns/op
MainTarget 14: 1048576 op, 216377632.26 ns, 206.3538 ns/op
Result 1: 1048576 op, 212639564.6 ns, 202.7889 ns/op
Result 2: 1048576 op, 213354944.23 ns, 203.4711 ns/op
Result 3: 1048576 op, 247909833.28 ns, 236.4252 ns/op
Result 4: 1048576 op, 248442376.78 ns, 236.9331 ns/op
Result 5: 1048576 op, 213713774.4 ns, 203.8133 ns/op
Result 6: 1048576 op, 220791927.54 ns, 210.5636 ns/op
Result 7: 1048576 op, 240602849.89 ns, 229.4568 ns/op
Result 8: 1048576 op, 220459325.42 ns, 210.2464 ns/op
Result 9: 1048576 op, 211677109.11 ns, 201.8710 ns/op
Result 10: 1048576 op, 216007778.71 ns, 206.0011 ns/op
Result 11: 1048576 op, 212765763.34 ns, 202.9092 ns/op
Result 12: 1048576 op, 216807544.25 ns, 206.7638 ns/op
Result 13: 1048576 op, 214221990.44 ns, 204.2980 ns/op
Result 14: 1048576 op, 214260002.11 ns, 204.3343 ns/op
// Run, Diagnostic
// BenchmarkDotNet-Dev=v0.9.1.0+
// OS=Microsoft Windows NT 6.1.7601 Service Pack 1
// Processor=Intel(R) Core(TM) i7-4800MQ CPU @ 2.70GHz, ProcessorCount=8
// Frequency=2630771 ticks, Resolution=380.1167 ns, Timer=TSC
// CLR=MS.NET 4.0.30319.42000, Arch=64-bit RELEASE [RyuJIT]
// JitModules=clrjit-v4.6.100.0
Pilot 1: 4 op, 306754.18 ns, 76.6885 us/op
Pilot 2: 8 op, 16725.13 ns, 2.0906 us/op
Pilot 3: 16 op, 9502.92 ns, 593.9323 ns/op
Pilot 4: 32 op, 17485.37 ns, 546.4178 ns/op
Pilot 5: 64 op, 28128.64 ns, 439.5099 ns/op
Pilot 6: 128 op, 52075.99 ns, 406.8437 ns/op
Pilot 7: 256 op, 100730.93 ns, 393.4802 ns/op
Pilot 8: 512 op, 199181.15 ns, 389.0257 ns/op
Pilot 9: 1024 op, 404824.29 ns, 395.3362 ns/op
Pilot 10: 2048 op, 824473.13 ns, 402.5748 ns/op
Pilot 11: 4096 op, 1791870.14 ns, 437.4683 ns/op
Pilot 12: 8192 op, 3432453.83 ns, 419.0007 ns/op
Pilot 13: 16384 op, 5545522.59 ns, 338.4718 ns/op
Pilot 14: 32768 op, 7877538.56 ns, 240.4034 ns/op
Pilot 15: 65536 op, 13853353.26 ns, 211.3854 ns/op
Pilot 16: 131072 op, 27786150.9 ns, 211.9915 ns/op
Pilot 17: 262144 op, 54449437.07 ns, 207.7081 ns/op
Pilot 18: 524288 op, 110807440.1 ns, 211.3484 ns/op
Pilot 19: 1048576 op, 220648243.42 ns, 210.4266 ns/op
IdleWarmup 1: 1048576 op, 2129033.66 ns, 2.0304 ns/op
IdleWarmup 2: 1048576 op, 2113448.87 ns, 2.0155 ns/op
IdleWarmup 3: 1048576 op, 2113448.87 ns, 2.0155 ns/op
IdleWarmup 4: 1048576 op, 2131314.36 ns, 2.0326 ns/op
IdleWarmup 5: 1048576 op, 2116109.69 ns, 2.0181 ns/op
IdleWarmup 6: 1048576 op, 2114969.34 ns, 2.0170 ns/op
IdleWarmup 7: 1048576 op, 2114589.22 ns, 2.0166 ns/op
IdleWarmup 8: 1048576 op, 2123712.02 ns, 2.0253 ns/op
IdleTarget 1: 1048576 op, 2104326.07 ns, 2.0068 ns/op
IdleTarget 2: 1048576 op, 2106606.77 ns, 2.0090 ns/op
IdleTarget 3: 1048576 op, 2105086.3 ns, 2.0076 ns/op
IdleTarget 4: 1048576 op, 2115729.57 ns, 2.0177 ns/op
IdleTarget 5: 1048576 op, 2131314.36 ns, 2.0326 ns/op
IdleTarget 6: 1048576 op, 2119910.86 ns, 2.0217 ns/op
IdleTarget 7: 1048576 op, 2123712.02 ns, 2.0253 ns/op
IdleTarget 8: 1048576 op, 2133595.06 ns, 2.0348 ns/op
IdleTarget 9: 1048576 op, 2123712.02 ns, 2.0253 ns/op
IdleTarget 10: 1048576 op, 2114969.34 ns, 2.0170 ns/op
MainWarmup 1: 1048576 op, 224675960.01 ns, 214.2677 ns/op
MainWarmup 2: 1048576 op, 219156665.48 ns, 209.0041 ns/op
MainWarmup 3: 1048576 op, 225210404.1 ns, 214.7774 ns/op
MainWarmup 4: 1048576 op, 219769033.49 ns, 209.5881 ns/op
MainWarmup 5: 1048576 op, 219057455.02 ns, 208.9095 ns/op
MainWarmup 6: 1048576 op, 221062190.51 ns, 210.8213 ns/op
MainWarmup 7: 1048576 op, 223843504.43 ns, 213.4738 ns/op
MainTarget 1: 1048576 op, 219393478.19 ns, 209.2299 ns/op
MainTarget 2: 1048576 op, 220498097.33 ns, 210.2834 ns/op
MainTarget 3: 1048576 op, 222367511.27 ns, 212.0662 ns/op
MainTarget 4: 1048576 op, 223131545.85 ns, 212.7948 ns/op
MainTarget 5: 1048576 op, 220851225.74 ns, 210.6201 ns/op
MainTarget 6: 1048576 op, 220038536.23 ns, 209.8451 ns/op
MainTarget 7: 1048576 op, 223928270.46 ns, 213.5546 ns/op
MainTarget 8: 1048576 op, 220320962.94 ns, 210.1144 ns/op
MainTarget 9: 1048576 op, 220137366.57 ns, 209.9394 ns/op
MainTarget 10: 1048576 op, 219234589.4 ns, 209.0784 ns/op
Result 1: 1048576 op, 217275657.97 ns, 207.2102 ns/op
Result 2: 1048576 op, 218380277.11 ns, 208.2637 ns/op
Result 3: 1048576 op, 220249691.06 ns, 210.0465 ns/op
Result 4: 1048576 op, 221013725.63 ns, 210.7751 ns/op
Result 5: 1048576 op, 218733405.53 ns, 208.6004 ns/op
Result 6: 1048576 op, 217920716.02 ns, 207.8254 ns/op
Result 7: 1048576 op, 221810450.24 ns, 211.5349 ns/op
Result 8: 1048576 op, 218203142.73 ns, 208.0947 ns/op
Result 9: 1048576 op, 218019546.36 ns, 207.9196 ns/op
Result 10: 1048576 op, 217116769.19 ns, 207.0587 ns/op
Mean = 208.3594 ns, StdError = 2.1284 ns (1.02%); N = 24, StdDev = 10.4271 ns
Min = 201.8534 ns, Q1 = 202.9298 ns, Median = 204.0991 ns, Q3 = 208.5051 ns, Max = 236.9331 ns
IQR = 5.5753 ns, LowerFence = 194.5669 ns, UpperFence = 216.8680 ns
ConfidenceInterval = [204.1877 ns; 212.5311 ns](CI 95%)
// **************************
// Benchmark: Framework_Interpolated_vs_ToString_ToString
// *** Generate ***
// Result = Success
// DirectoryPath = C:\Users\warma11\Downloads__GitHub__\BenchmarkDotNet\BenchmarkDotNet.Samples\bin\Release\Framework_Interpolated_vs_ToString_ToString
// *** Build ***
// Result = Success
// *** Execute ***
// Launch: 1
// BenchmarkDotNet-Dev=v0.9.1.0+
// OS=Microsoft Windows NT 6.1.7601 Service Pack 1
// Processor=Intel(R) Core(TM) i7-4800MQ CPU @ 2.70GHz, ProcessorCount=8
// Frequency=2630771 ticks, Resolution=380.1167 ns, Timer=TSC
// CLR=MS.NET 4.0.30319.42000, Arch=64-bit RELEASE [RyuJIT]
// JitModules=clrjit-v4.6.100.0
Pilot 1: 4 op, 357689.82 ns, 89.4225 us/op
Pilot 2: 8 op, 5701.75 ns, 712.7188 ns/op
Pilot 3: 16 op, 5321.63 ns, 332.6021 ns/op
Pilot 4: 32 op, 6842.1 ns, 213.8156 ns/op
Pilot 5: 64 op, 10643.27 ns, 166.3011 ns/op
Pilot 6: 128 op, 18625.72 ns, 145.5134 ns/op
Pilot 7: 256 op, 38391.79 ns, 149.9679 ns/op
Pilot 8: 512 op, 70701.71 ns, 138.0893 ns/op
Pilot 9: 1024 op, 138742.6 ns, 135.4908 ns/op
Pilot 10: 2048 op, 279385.78 ns, 136.4188 ns/op
Pilot 11: 4096 op, 594882.64 ns, 145.2350 ns/op
Pilot 12: 8192 op, 1228157.07 ns, 149.9215 ns/op
Pilot 13: 16384 op, 2606840.35 ns, 159.1089 ns/op
Pilot 14: 32768 op, 5120932.23 ns, 156.2784 ns/op
Pilot 15: 65536 op, 8761309.9 ns, 133.6870 ns/op
Pilot 16: 131072 op, 12013208.3 ns, 91.6535 ns/op
Pilot 17: 262144 op, 23780481.08 ns, 90.7153 ns/op
Pilot 18: 524288 op, 46673389.66 ns, 89.0224 ns/op
Pilot 19: 1048576 op, 92968563.21 ns, 88.6617 ns/op
Pilot 20: 2097152 op, 188808527.99 ns, 90.0309 ns/op
Pilot 21: 4194304 op, 371080949.27 ns, 88.4726 ns/op
IdleWarmup 1: 4194304 op, 8672362.59 ns, 2.0677 ns/op
IdleWarmup 2: 4194304 op, 8501690.19 ns, 2.0270 ns/op
IdleWarmup 3: 4194304 op, 8429848.13 ns, 2.0098 ns/op
IdleWarmup 4: 4194304 op, 8432128.83 ns, 2.0104 ns/op
IdleWarmup 5: 4194304 op, 8438970.93 ns, 2.0120 ns/op
IdleWarmup 6: 4194304 op, 8433649.3 ns, 2.0107 ns/op
IdleWarmup 7: 4194304 op, 8430988.48 ns, 2.0101 ns/op
IdleWarmup 8: 4194304 op, 8437830.58 ns, 2.0117 ns/op
IdleTarget 1: 4194304 op, 8529438.71 ns, 2.0336 ns/op
IdleTarget 2: 4194304 op, 8425286.73 ns, 2.0087 ns/op
IdleTarget 3: 4194304 op, 8725578.93 ns, 2.0803 ns/op
IdleTarget 4: 4194304 op, 8457596.65 ns, 2.0164 ns/op
IdleTarget 5: 4194304 op, 8453415.37 ns, 2.0155 ns/op
IdleTarget 6: 4194304 op, 8444292.57 ns, 2.0133 ns/op
IdleTarget 7: 4194304 op, 8437830.58 ns, 2.0117 ns/op
IdleTarget 8: 4194304 op, 8616865.55 ns, 2.0544 ns/op
IdleTarget 9: 4194304 op, 8429848.13 ns, 2.0098 ns/op
IdleTarget 10: 4194304 op, 8500169.72 ns, 2.0266 ns/op
MainWarmup 1: 4194304 op, 373373052.99 ns, 89.0191 ns/op
MainWarmup 2: 4194304 op, 374642262.67 ns, 89.3217 ns/op
MainWarmup 3: 4194304 op, 373808286.62 ns, 89.1228 ns/op
MainWarmup 4: 4194304 op, 374166356.55 ns, 89.2082 ns/op
MainWarmup 5: 4194304 op, 371902001.35 ns, 88.6683 ns/op
MainWarmup 6: 4194304 op, 373881269.03 ns, 89.1402 ns/op
MainTarget 1: 4194304 op, 377094395.52 ns, 89.9063 ns/op
MainTarget 2: 4194304 op, 374858929.19 ns, 89.3733 ns/op
MainTarget 3: 4194304 op, 380139510.43 ns, 90.6323 ns/op
MainTarget 4: 4194304 op, 373810947.44 ns, 89.1235 ns/op
MainTarget 5: 4194304 op, 382703777.71 ns, 91.2437 ns/op
MainTarget 6: 4194304 op, 375190390.95 ns, 89.4524 ns/op
MainTarget 7: 4194304 op, 372166182.46 ns, 88.7313 ns/op
MainTarget 8: 4194304 op, 373403462.33 ns, 89.0263 ns/op
MainTarget 9: 4194304 op, 369957704.41 ns, 88.2048 ns/op
MainTarget 10: 4194304 op, 375269455.23 ns, 89.4712 ns/op
Result 1: 4194304 op, 368638889.51 ns, 87.8904 ns/op
Result 2: 4194304 op, 366403423.18 ns, 87.3574 ns/op
Result 3: 4194304 op, 371684004.42 ns, 88.6164 ns/op
Result 4: 4194304 op, 365355441.43 ns, 87.1075 ns/op
Result 5: 4194304 op, 374248271.7 ns, 89.2277 ns/op
Result 6: 4194304 op, 366734884.94 ns, 87.4364 ns/op
Result 7: 4194304 op, 363710676.45 ns, 86.7154 ns/op
Result 8: 4194304 op, 364947956.32 ns, 87.0104 ns/op
Result 9: 4194304 op, 361502198.4 ns, 86.1888 ns/op
Result 10: 4194304 op, 366813949.22 ns, 87.4553 ns/op
// Launch: 2
// BenchmarkDotNet-Dev=v0.9.1.0+
// OS=Microsoft Windows NT 6.1.7601 Service Pack 1
// Processor=Intel(R) Core(TM) i7-4800MQ CPU @ 2.70GHz, ProcessorCount=8
// Frequency=2630771 ticks, Resolution=380.1167 ns, Timer=TSC
// CLR=MS.NET 4.0.30319.42000, Arch=64-bit RELEASE [RyuJIT]
// JitModules=clrjit-v4.6.100.0
Pilot 1: 4 op, 360730.75 ns, 90.1827 us/op
Pilot 2: 8 op, 8362.57 ns, 1.0453 us/op
Pilot 3: 16 op, 5701.75 ns, 356.3594 ns/op
Pilot 4: 32 op, 7982.45 ns, 249.4516 ns/op
Pilot 5: 64 op, 14444.43 ns, 225.6943 ns/op
Pilot 6: 128 op, 26608.17 ns, 207.8763 ns/op
Pilot 7: 256 op, 50935.64 ns, 198.9673 ns/op
Pilot 8: 512 op, 99210.46 ns, 193.7704 ns/op
Pilot 9: 1024 op, 198801.04 ns, 194.1416 ns/op
Pilot 10: 2048 op, 398362.31 ns, 194.5128 ns/op
Pilot 11: 4096 op, 851081.3 ns, 207.7835 ns/op
Pilot 12: 8192 op, 1703683.06 ns, 207.9691 ns/op
Pilot 13: 16384 op, 3564734.44 ns, 217.5741 ns/op
Pilot 14: 32768 op, 3784441.9 ns, 115.4920 ns/op
Pilot 15: 65536 op, 7208533.16 ns, 109.9935 ns/op
Pilot 16: 131072 op, 11885108.97 ns, 90.6762 ns/op
Pilot 17: 262144 op, 23468405.27 ns, 89.5249 ns/op
Pilot 18: 524288 op, 46214588.8 ns, 88.1473 ns/op
Pilot 19: 1048576 op, 92465288.69 ns, 88.1818 ns/op
Pilot 20: 2097152 op, 192423057.73 ns, 91.7545 ns/op
Pilot 21: 4194304 op, 374376180.98 ns, 89.2582 ns/op
IdleWarmup 1: 4194304 op, 8416163.93 ns, 2.0066 ns/op
IdleWarmup 2: 4194304 op, 8459497.23 ns, 2.0169 ns/op
IdleWarmup 3: 4194304 op, 8432508.95 ns, 2.0105 ns/op
IdleWarmup 4: 4194304 op, 8439731.17 ns, 2.0122 ns/op
IdleWarmup 5: 4194304 op, 8917537.86 ns, 2.1261 ns/op
IdleTarget 1: 4194304 op, 8442011.87 ns, 2.0127 ns/op
IdleTarget 2: 4194304 op, 8621426.95 ns, 2.0555 ns/op
IdleTarget 3: 4194304 op, 8473561.55 ns, 2.0203 ns/op
IdleTarget 4: 4194304 op, 8475842.25 ns, 2.0208 ns/op
IdleTarget 5: 4194304 op, 8618386.02 ns, 2.0548 ns/op
IdleTarget 6: 4194304 op, 8459497.23 ns, 2.0169 ns/op
IdleTarget 7: 4194304 op, 8559848.04 ns, 2.0408 ns/op
IdleTarget 8: 4194304 op, 8436690.23 ns, 2.0115 ns/op
IdleTarget 9: 4194304 op, 8446193.15 ns, 2.0137 ns/op
IdleTarget 10: 4194304 op, 8600520.53 ns, 2.0505 ns/op
MainWarmup 1: 4194304 op, 371997030.53 ns, 88.6910 ns/op
MainWarmup 2: 4194304 op, 371642761.76 ns, 88.6065 ns/op
MainWarmup 3: 4194304 op, 369633084.75 ns, 88.1274 ns/op
MainWarmup 4: 4194304 op, 370370891.27 ns, 88.3033 ns/op
MainWarmup 5: 4194304 op, 370896592.67 ns, 88.4286 ns/op
MainWarmup 6: 4194304 op, 373693871.49 ns, 89.0956 ns/op
MainTarget 1: 4194304 op, 369321008.94 ns, 88.0530 ns/op
MainTarget 2: 4194304 op, 370238230.54 ns, 88.2717 ns/op
MainTarget 3: 4194304 op, 370440072.51 ns, 88.3198 ns/op
MainTarget 4: 4194304 op, 371745393.27 ns, 88.6310 ns/op
MainTarget 5: 4194304 op, 370693990.47 ns, 88.3803 ns/op
MainTarget 6: 4194304 op, 371865510.15 ns, 88.6596 ns/op
MainTarget 7: 4194304 op, 370899633.61 ns, 88.4294 ns/op
MainTarget 8: 4194304 op, 371846884.43 ns, 88.6552 ns/op
MainTarget 9: 4194304 op, 376358489.58 ns, 89.7309 ns/op
MainTarget 10: 4194304 op, 371093113.01 ns, 88.4755 ns/op
Result 1: 4194304 op, 360846307.03 ns, 86.0325 ns/op
Result 2: 4194304 op, 361763528.64 ns, 86.2511 ns/op
Result 3: 4194304 op, 361965370.61 ns, 86.2993 ns/op
Result 4: 4194304 op, 363270691.37 ns, 86.6105 ns/op
Result 5: 4194304 op, 362219288.57 ns, 86.3598 ns/op
Result 6: 4194304 op, 363390808.25 ns, 86.6391 ns/op
Result 7: 4194304 op, 362424931.7 ns, 86.4088 ns/op
Result 8: 4194304 op, 363372182.53 ns, 86.6347 ns/op
Result 9: 4194304 op, 367883787.68 ns, 87.7103 ns/op
Result 10: 4194304 op, 362618411.1 ns, 86.4550 ns/op
// Run, Diagnostic
// BenchmarkDotNet-Dev=v0.9.1.0+
// OS=Microsoft Windows NT 6.1.7601 Service Pack 1
// Processor=Intel(R) Core(TM) i7-4800MQ CPU @ 2.70GHz, ProcessorCount=8
// Frequency=2630771 ticks, Resolution=380.1167 ns, Timer=TSC
// CLR=MS.NET 4.0.30319.42000, Arch=64-bit RELEASE [RyuJIT]
// JitModules=clrjit-v4.6.100.0
Pilot 1: 4 op, 163830.3 ns, 40.9576 us/op
Pilot 2: 8 op, 3421.05 ns, 427.6313 ns/op
Pilot 3: 16 op, 2660.82 ns, 166.3011 ns/op
Pilot 4: 32 op, 4181.28 ns, 130.6651 ns/op
Pilot 5: 64 op, 6461.98 ns, 100.9685 ns/op
Pilot 6: 128 op, 12163.73 ns, 95.0292 ns/op
Pilot 7: 256 op, 25467.82 ns, 99.4837 ns/op
Pilot 8: 512 op, 45994.12 ns, 89.8323 ns/op
Pilot 9: 1024 op, 91988.24 ns, 89.8323 ns/op
Pilot 10: 2048 op, 195760.1 ns, 95.5860 ns/op
Pilot 11: 4096 op, 409005.57 ns, 99.8549 ns/op
Pilot 12: 8192 op, 780759.71 ns, 95.3076 ns/op
Pilot 13: 16384 op, 1703302.95 ns, 103.9614 ns/op
Pilot 14: 32768 op, 3691313.31 ns, 112.6499 ns/op
Pilot 15: 65536 op, 7124907.49 ns, 108.7175 ns/op
Pilot 16: 131072 op, 11923880.87 ns, 90.9720 ns/op
Pilot 17: 262144 op, 23598025.07 ns, 90.0193 ns/op
Pilot 18: 524288 op, 47211634.92 ns, 90.0490 ns/op
Pilot 19: 1048576 op, 92643183.31 ns, 88.3514 ns/op
Pilot 20: 2097152 op, 190810982.79 ns, 90.9858 ns/op
Pilot 21: 4194304 op, 376653840.26 ns, 89.8013 ns/op
IdleWarmup 1: 4194304 op, 8399818.91 ns, 2.0027 ns/op
IdleWarmup 2: 4194304 op, 8428327.67 ns, 2.0095 ns/op
IdleWarmup 3: 4194304 op, 8450374.43 ns, 2.0147 ns/op
IdleWarmup 4: 4194304 op, 8440491.4 ns, 2.0124 ns/op
IdleWarmup 5: 4194304 op, 8481544 ns, 2.0222 ns/op
IdleTarget 1: 4194304 op, 8712274.84 ns, 2.0772 ns/op
IdleTarget 2: 4194304 op, 8413503.11 ns, 2.0059 ns/op
IdleTarget 3: 4194304 op, 8429468.02 ns, 2.0097 ns/op
IdleTarget 4: 4194304 op, 8576573.18 ns, 2.0448 ns/op
IdleTarget 5: 4194304 op, 8628649.17 ns, 2.0572 ns/op
IdleTarget 6: 4194304 op, 8573912.36 ns, 2.0442 ns/op
IdleTarget 7: 4194304 op, 8462918.29 ns, 2.0177 ns/op
IdleTarget 8: 4194304 op, 8423766.26 ns, 2.0084 ns/op
IdleTarget 9: 4194304 op, 8432128.83 ns, 2.0104 ns/op
IdleTarget 10: 4194304 op, 8516134.62 ns, 2.0304 ns/op
MainWarmup 1: 4194304 op, 376447436.89 ns, 89.7521 ns/op
MainWarmup 2: 4194304 op, 375540478.44 ns, 89.5358 ns/op
MainWarmup 3: 4194304 op, 384164946.32 ns, 91.5921 ns/op
MainWarmup 4: 4194304 op, 377513284.13 ns, 90.0062 ns/op
MainWarmup 5: 4194304 op, 377012290.31 ns, 89.8867 ns/op
MainWarmup 6: 4194304 op, 375214338.31 ns, 89.4581 ns/op
MainWarmup 7: 4194304 op, 375529835.17 ns, 89.5333 ns/op
MainWarmup 8: 4194304 op, 374100216.25 ns, 89.1924 ns/op
MainWarmup 9: 4194304 op, 372822263.89 ns, 88.8878 ns/op
MainWarmup 10: 4194304 op, 375009835.52 ns, 89.4093 ns/op
MainTarget 1: 4194304 op, 373574134.73 ns, 89.0670 ns/op
MainTarget 2: 4194304 op, 375717992.94 ns, 89.5782 ns/op
MainTarget 3: 4194304 op, 375970390.43 ns, 89.6383 ns/op
MainTarget 4: 4194304 op, 375745361.34 ns, 89.5847 ns/op
MainTarget 5: 4194304 op, 374961560.7 ns, 89.3978 ns/op
MainTarget 6: 4194304 op, 377950418.34 ns, 90.1104 ns/op
MainTarget 7: 4194304 op, 374289134.25 ns, 89.2375 ns/op
MainTarget 8: 4194304 op, 375946823.19 ns, 89.6327 ns/op
MainTarget 9: 4194304 op, 384843074.52 ns, 91.7537 ns/op
MainTarget 10: 4194304 op, 375355741.72 ns, 89.4918 ns/op
Result 1: 4194304 op, 365084608.28 ns, 87.0430 ns/op
Result 2: 4194304 op, 367228466.48 ns, 87.5541 ns/op
Result 3: 4194304 op, 367480863.97 ns, 87.6143 ns/op
Result 4: 4194304 op, 367255834.89 ns, 87.5606 ns/op
Result 5: 4194304 op, 366472034.24 ns, 87.3737 ns/op
Result 6: 4194304 op, 369460891.88 ns, 88.0863 ns/op
Result 7: 4194304 op, 365799607.8 ns, 87.2134 ns/op
Result 8: 4194304 op, 367457296.74 ns, 87.6086 ns/op
Result 9: 4194304 op, 376353548.07 ns, 89.7297 ns/op
Result 10: 4194304 op, 366866215.27 ns, 87.4677 ns/op
Mean = 87.0203 ns, StdError = 0.1892 ns (0.22%); N = 20, StdDev = 0.8461 ns
Min = 86.0325 ns, Q1 = 86.3843 ns, Median = 86.6773 ns, Q3 = 87.4458 ns, Max = 89.2277 ns
IQR = 1.0615 ns, LowerFence = 84.7921 ns, UpperFence = 89.0381 ns
ConfidenceInterval = [86.6495 ns; 87.3911 ns](CI 95%)
// ***** BenchmarkRunner: Finish *****
// * Export *
Framework_Interpolated_vs_ToString-report.csv
Framework_Interpolated_vs_ToString-report-stackoverflow.md
Framework_Interpolated_vs_ToString-report-default.md
Framework_Interpolated_vs_ToString-report-github.md
Framework_Interpolated_vs_ToString-report.txt
Framework_Interpolated_vs_ToString-measurements.csv
BuildPlots.R
Framework_Interpolated_vs_ToString-report.html
// * Detailed results *
Framework_Interpolated_vs_ToString_InterpolatedString
Mean = 208.3594 ns, StdError = 2.1284 ns (1.02%); N = 24, StdDev = 10.4271 ns
Min = 201.8534 ns, Q1 = 202.9298 ns, Median = 204.0991 ns, Q3 = 208.5051 ns, Max = 236.9331 ns
IQR = 5.5753 ns, LowerFence = 194.5669 ns, UpperFence = 216.8680 ns
ConfidenceInterval = [204.1877 ns; 212.5311 ns](CI 95%)
Framework_Interpolated_vs_ToString_ToString
Mean = 87.0203 ns, StdError = 0.1892 ns (0.22%); N = 20, StdDev = 0.8461 ns
Min = 86.0325 ns, Q1 = 86.3843 ns, Median = 86.6773 ns, Q3 = 87.4458 ns, Max = 89.2277 ns
IQR = 1.0615 ns, LowerFence = 84.7921 ns, UpperFence = 89.0381 ns
ConfidenceInterval = [86.6495 ns; 87.3911 ns](CI 95%)
Total time: 00:00:48 (48.24 sec)
// * Summary *
BenchmarkDotNet-Dev=v0.9.1.0+
OS=Microsoft Windows NT 6.1.7601 Service Pack 1
Processor=Intel(R) Core(TM) i7-4800MQ CPU @ 2.70GHz, ProcessorCount=8
Frequency=2630771 ticks, Resolution=380.1167 ns, Timer=TSC
HostCLR=MS.NET 4.0.30319.42000, Arch=64-bit RELEASE [RyuJIT]
JitModules=clrjit-v4.6.100.0
Type=Framework_Interpolated_vs_ToString Mode=Throughput
Method | Median | StdDev | Gen 0 | Gen 1 | Gen 2 | Memory Traffic/Op |
---|---|---|---|---|---|---|
InterpolatedString | 204.0991 ns | 10.4271 ns | 607 | - | - | 38.98 B |
ToString | 86.6773 ns | 0.8461 ns | 522 | - | - | 33.87 B |
// * Diagnostic Output - GCDiagnoser *
// ***** BenchmarkRunner: End *****
How does it scale with the number of interpolated parameters?