Skip to content

Instantly share code, notes, and snippets.

@lsmithmier
Created November 29, 2019 19:56
Show Gist options
  • Save lsmithmier/d78ac3d7ebf6fd545e0bc62de4ecd91e to your computer and use it in GitHub Desktop.
Save lsmithmier/d78ac3d7ebf6fd545e0bc62de4ecd91e to your computer and use it in GitHub Desktop.
C:\Users\larry\source\repos\StringsVSStringBuilder\StringsVSStringBuilder\bin\Release\netcoreapp3.0>dotnet StringsVSStringBuilder.dll
// Validating benchmarks:
// ***** BenchmarkRunner: Start *****
// ***** Found 2 benchmark(s) in total *****
// ***** Building 1 exe(s) in Parallel: Start *****
// start dotnet restore /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 in C:\Users\larry\source\repos\StringsVSStringBuilder\StringsVSStringBuilder\bin\Release\netcoreapp3.0\c7bd1940-5da0-40b4-a3f4-349ecab0bc58
// command took 1.29s and exited with 0
// start dotnet build -c Release --no-restore /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 in C:\Users\larry\source\repos\StringsVSStringBuilder\StringsVSStringBuilder\bin\Release\netcoreapp3.0\c7bd1940-5da0-40b4-a3f4-349ecab0bc58
// command took 2.25s and exited with 0
// ***** Done, took 00:00:03 (3.65 sec) *****
// Found 2 benchmarks:
// StringVSStringBuilderTest.'Concat method': DefaultJob
// StringVSStringBuilderTest.'StringBuilder method': DefaultJob
// **************************
// Benchmark: StringVSStringBuilderTest.'Concat method': DefaultJob
// *** Execute ***
// Launch: 1 / 1
// Execute: dotnet "c7bd1940-5da0-40b4-a3f4-349ecab0bc58.dll" --benchmarkName "StringsVSStringBuilder.StringVSStringBuilderTest.CallConcatMethod" --job "Default" --benchmarkId 0 in C:\Users\larry\source\repos\StringsVSStringBuilder\StringsVSStringBuilder\bin\Release\netcoreapp3.0\c7bd1940-5da0-40b4-a3f4-349ecab0bc58\bin\Release\netcoreapp3.0
// BeforeAnythingElse
// Benchmark Process Environment Information:
// Runtime=.NET Core 3.0.0 (CoreCLR 4.700.19.46205, CoreFX 4.700.19.46214), X64 RyuJIT
// GC=Concurrent Workstation
// Job: DefaultJob
OverheadJitting 1: 1 op, 405900.00 ns, 405.9000 us/op
WorkloadJitting 1: 1 op, 100236400.00 ns, 100.2364 ms/op
WorkloadPilot 1: 2 op, 178994100.00 ns, 89.4971 ms/op
WorkloadPilot 2: 3 op, 268376700.00 ns, 89.4589 ms/op
WorkloadPilot 3: 4 op, 340006700.00 ns, 85.0017 ms/op
WorkloadPilot 4: 5 op, 417262400.00 ns, 83.4525 ms/op
WorkloadPilot 5: 6 op, 501714400.00 ns, 83.6191 ms/op
WorkloadWarmup 1: 6 op, 501045000.00 ns, 83.5075 ms/op
WorkloadWarmup 2: 6 op, 499303900.00 ns, 83.2173 ms/op
WorkloadWarmup 3: 6 op, 503176000.00 ns, 83.8627 ms/op
WorkloadWarmup 4: 6 op, 507200100.00 ns, 84.5334 ms/op
WorkloadWarmup 5: 6 op, 499379100.00 ns, 83.2298 ms/op
WorkloadWarmup 6: 6 op, 500859700.00 ns, 83.4766 ms/op
WorkloadWarmup 7: 6 op, 500903000.00 ns, 83.4838 ms/op
WorkloadWarmup 8: 6 op, 510939700.00 ns, 85.1566 ms/op
WorkloadWarmup 9: 6 op, 502187500.00 ns, 83.6979 ms/op
// BeforeActualRun
WorkloadActual 1: 6 op, 499928100.00 ns, 83.3213 ms/op
WorkloadActual 2: 6 op, 513564400.00 ns, 85.5941 ms/op
WorkloadActual 3: 6 op, 501835900.00 ns, 83.6393 ms/op
WorkloadActual 4: 6 op, 500446600.00 ns, 83.4078 ms/op
WorkloadActual 5: 6 op, 500415800.00 ns, 83.4026 ms/op
WorkloadActual 6: 6 op, 500911700.00 ns, 83.4853 ms/op
WorkloadActual 7: 6 op, 503094500.00 ns, 83.8491 ms/op
WorkloadActual 8: 6 op, 502809300.00 ns, 83.8016 ms/op
WorkloadActual 9: 6 op, 496081400.00 ns, 82.6802 ms/op
WorkloadActual 10: 6 op, 502419400.00 ns, 83.7366 ms/op
WorkloadActual 11: 6 op, 500604200.00 ns, 83.4340 ms/op
WorkloadActual 12: 6 op, 507751000.00 ns, 84.6252 ms/op
WorkloadActual 13: 6 op, 500635800.00 ns, 83.4393 ms/op
WorkloadActual 14: 6 op, 504604400.00 ns, 84.1007 ms/op
WorkloadActual 15: 6 op, 500115200.00 ns, 83.3525 ms/op
// AfterActualRun
WorkloadResult 1: 6 op, 499928100.00 ns, 83.3213 ms/op
WorkloadResult 2: 6 op, 501835900.00 ns, 83.6393 ms/op
WorkloadResult 3: 6 op, 500446600.00 ns, 83.4078 ms/op
WorkloadResult 4: 6 op, 500415800.00 ns, 83.4026 ms/op
WorkloadResult 5: 6 op, 500911700.00 ns, 83.4853 ms/op
WorkloadResult 6: 6 op, 503094500.00 ns, 83.8491 ms/op
WorkloadResult 7: 6 op, 502809300.00 ns, 83.8016 ms/op
WorkloadResult 8: 6 op, 496081400.00 ns, 82.6802 ms/op
WorkloadResult 9: 6 op, 502419400.00 ns, 83.7366 ms/op
WorkloadResult 10: 6 op, 500604200.00 ns, 83.4340 ms/op
WorkloadResult 11: 6 op, 500635800.00 ns, 83.4393 ms/op
WorkloadResult 12: 6 op, 504604400.00 ns, 84.1007 ms/op
WorkloadResult 13: 6 op, 500115200.00 ns, 83.3525 ms/op
GC: 47 33 31 207054464 6
Threading: 2 0 6
// AfterAll
// Benchmark Process 26792 has exited with code 0
Mean = 83.5116 ms, StdErr = 0.0947 ms (0.11%); N = 13, StdDev = 0.3415 ms
Min = 82.6802 ms, Q1 = 83.3776 ms, Median = 83.4393 ms, Q3 = 83.7691 ms, Max = 84.1007 ms
IQR = 0.3915 ms, LowerFence = 82.7904 ms, UpperFence = 84.3563 ms
ConfidenceInterval = [83.1026 ms; 83.9205 ms] (CI 99.9%), Margin = 0.4089 ms (0.49% of Mean)
Skewness = -0.59, Kurtosis = 3.53, MValue = 2
// **************************
// Benchmark: StringVSStringBuilderTest.'StringBuilder method': DefaultJob
// *** Execute ***
// Launch: 1 / 1
// Execute: dotnet "c7bd1940-5da0-40b4-a3f4-349ecab0bc58.dll" --benchmarkName "StringsVSStringBuilder.StringVSStringBuilderTest.CallAppendMethod" --job "Default" --benchmarkId 1 in C:\Users\larry\source\repos\StringsVSStringBuilder\StringsVSStringBuilder\bin\Release\netcoreapp3.0\c7bd1940-5da0-40b4-a3f4-349ecab0bc58\bin\Release\netcoreapp3.0
// BeforeAnythingElse
// Benchmark Process Environment Information:
// Runtime=.NET Core 3.0.0 (CoreCLR 4.700.19.46205, CoreFX 4.700.19.46214), X64 RyuJIT
// GC=Concurrent Workstation
// Job: DefaultJob
OverheadJitting 1: 1 op, 287700.00 ns, 287.7000 us/op
WorkloadJitting 1: 1 op, 89793600.00 ns, 89.7936 ms/op
WorkloadPilot 1: 2 op, 167515700.00 ns, 83.7579 ms/op
WorkloadPilot 2: 3 op, 252147200.00 ns, 84.0491 ms/op
WorkloadPilot 3: 4 op, 333785400.00 ns, 83.4463 ms/op
WorkloadPilot 4: 5 op, 402701200.00 ns, 80.5402 ms/op
WorkloadPilot 5: 6 op, 481253100.00 ns, 80.2088 ms/op
WorkloadPilot 6: 7 op, 563580200.00 ns, 80.5115 ms/op
WorkloadWarmup 1: 7 op, 564460500.00 ns, 80.6372 ms/op
WorkloadWarmup 2: 7 op, 560117800.00 ns, 80.0168 ms/op
WorkloadWarmup 3: 7 op, 561717700.00 ns, 80.2454 ms/op
WorkloadWarmup 4: 7 op, 557790000.00 ns, 79.6843 ms/op
WorkloadWarmup 5: 7 op, 562152700.00 ns, 80.3075 ms/op
WorkloadWarmup 6: 7 op, 560828400.00 ns, 80.1183 ms/op
// BeforeActualRun
WorkloadActual 1: 7 op, 567585300.00 ns, 81.0836 ms/op
WorkloadActual 2: 7 op, 563485100.00 ns, 80.4979 ms/op
WorkloadActual 3: 7 op, 561276400.00 ns, 80.1823 ms/op
WorkloadActual 4: 7 op, 559818300.00 ns, 79.9740 ms/op
WorkloadActual 5: 7 op, 556501100.00 ns, 79.5002 ms/op
WorkloadActual 6: 7 op, 561261200.00 ns, 80.1802 ms/op
WorkloadActual 7: 7 op, 561034300.00 ns, 80.1478 ms/op
WorkloadActual 8: 7 op, 556874400.00 ns, 79.5535 ms/op
WorkloadActual 9: 7 op, 559061100.00 ns, 79.8659 ms/op
WorkloadActual 10: 7 op, 557702400.00 ns, 79.6718 ms/op
WorkloadActual 11: 7 op, 553616300.00 ns, 79.0880 ms/op
WorkloadActual 12: 7 op, 557378300.00 ns, 79.6255 ms/op
WorkloadActual 13: 7 op, 558949700.00 ns, 79.8500 ms/op
WorkloadActual 14: 7 op, 566512200.00 ns, 80.9303 ms/op
WorkloadActual 15: 7 op, 555094800.00 ns, 79.2993 ms/op
// AfterActualRun
WorkloadResult 1: 7 op, 567585300.00 ns, 81.0836 ms/op
WorkloadResult 2: 7 op, 563485100.00 ns, 80.4979 ms/op
WorkloadResult 3: 7 op, 561276400.00 ns, 80.1823 ms/op
WorkloadResult 4: 7 op, 559818300.00 ns, 79.9740 ms/op
WorkloadResult 5: 7 op, 556501100.00 ns, 79.5002 ms/op
WorkloadResult 6: 7 op, 561261200.00 ns, 80.1802 ms/op
WorkloadResult 7: 7 op, 561034300.00 ns, 80.1478 ms/op
WorkloadResult 8: 7 op, 556874400.00 ns, 79.5535 ms/op
WorkloadResult 9: 7 op, 559061100.00 ns, 79.8659 ms/op
WorkloadResult 10: 7 op, 557702400.00 ns, 79.6718 ms/op
WorkloadResult 11: 7 op, 553616300.00 ns, 79.0880 ms/op
WorkloadResult 12: 7 op, 557378300.00 ns, 79.6255 ms/op
WorkloadResult 13: 7 op, 558949700.00 ns, 79.8500 ms/op
WorkloadResult 14: 7 op, 566512200.00 ns, 80.9303 ms/op
WorkloadResult 15: 7 op, 555094800.00 ns, 79.2993 ms/op
GC: 24 19 18 112130400 7
Threading: 2 0 7
// AfterAll
// Benchmark Process 15936 has exited with code 0
Mean = 79.9633 ms, StdErr = 0.1450 ms (0.18%); N = 15, StdDev = 0.5616 ms
Min = 79.0880 ms, Q1 = 79.5535 ms, Median = 79.8659 ms, Q3 = 80.1823 ms, Max = 81.0836 ms
IQR = 0.6289 ms, LowerFence = 78.6102 ms, UpperFence = 81.1256 ms
ConfidenceInterval = [79.3629 ms; 80.5638 ms] (CI 99.9%), Margin = 0.6004 ms (0.75% of Mean)
Skewness = 0.49, Kurtosis = 2.29, MValue = 2
// ***** BenchmarkRunner: Finish *****
// * Export *
BenchmarkDotNet.Artifacts\results\StringsVSStringBuilder.StringVSStringBuilderTest-report.csv
BenchmarkDotNet.Artifacts\results\StringsVSStringBuilder.StringVSStringBuilderTest-report-github.md
BenchmarkDotNet.Artifacts\results\StringsVSStringBuilder.StringVSStringBuilderTest-report.html
// * Detailed results *
StringVSStringBuilderTest.'Concat method': DefaultJob
Runtime = .NET Core 3.0.0 (CoreCLR 4.700.19.46205, CoreFX 4.700.19.46214), X64 RyuJIT; GC = Concurrent Workstation
Mean = 83.5116 ms, StdErr = 0.0947 ms (0.11%); N = 13, StdDev = 0.3415 ms
Min = 82.6802 ms, Q1 = 83.3776 ms, Median = 83.4393 ms, Q3 = 83.7691 ms, Max = 84.1007 ms
IQR = 0.3915 ms, LowerFence = 82.7904 ms, UpperFence = 84.3563 ms
ConfidenceInterval = [83.1026 ms; 83.9205 ms] (CI 99.9%), Margin = 0.4089 ms (0.49% of Mean)
Skewness = -0.59, Kurtosis = 3.53, MValue = 2
-------------------- Histogram --------------------
[82.553 ms ; 84.228 ms) | @@@@@@@@@@@@@
---------------------------------------------------
StringVSStringBuilderTest.'StringBuilder method': DefaultJob
Runtime = .NET Core 3.0.0 (CoreCLR 4.700.19.46205, CoreFX 4.700.19.46214), X64 RyuJIT; GC = Concurrent Workstation
Mean = 79.9633 ms, StdErr = 0.1450 ms (0.18%); N = 15, StdDev = 0.5616 ms
Min = 79.0880 ms, Q1 = 79.5535 ms, Median = 79.8659 ms, Q3 = 80.1823 ms, Max = 81.0836 ms
IQR = 0.6289 ms, LowerFence = 78.6102 ms, UpperFence = 81.1256 ms
ConfidenceInterval = [79.3629 ms; 80.5638 ms] (CI 99.9%), Margin = 0.6004 ms (0.75% of Mean)
Skewness = 0.49, Kurtosis = 2.29, MValue = 2
-------------------- Histogram --------------------
[78.889 ms ; 81.283 ms) | @@@@@@@@@@@@@@@
---------------------------------------------------
// * Summary *
BenchmarkDotNet=v0.12.0, OS=Windows 10.0.18362
Intel Core i7-4800MQ CPU 2.70GHz (Haswell), 1 CPU, 8 logical and 4 physical cores
.NET Core SDK=3.0.100
[Host] : .NET Core 3.0.0 (CoreCLR 4.700.19.46205, CoreFX 4.700.19.46214), X64 RyuJIT
DefaultJob : .NET Core 3.0.0 (CoreCLR 4.700.19.46205, CoreFX 4.700.19.46214), X64 RyuJIT
| Method | Mean | Error | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|----------------------- |---------:|---------:|---------:|----------:|----------:|----------:|----------:|
| 'Concat method' | 83.51 ms | 0.409 ms | 0.341 ms | 7833.3333 | 5500.0000 | 5166.6667 | 32.91 MB |
| 'StringBuilder method' | 79.96 ms | 0.600 ms | 0.562 ms | 3428.5714 | 2714.2857 | 2571.4286 | 15.28 MB |
// * Hints *
Outliers
StringVSStringBuilderTest.'Concat method': Default -> 2 outliers were removed, 3 outliers were detected (82.68 ms, 84.63 ms, 85.59 ms)
// * Legends *
Mean : Arithmetic mean of all measurements
Error : Half of 99.9% confidence interval
StdDev : Standard deviation of all measurements
Gen 0 : GC Generation 0 collects per 1000 operations
Gen 1 : GC Generation 1 collects per 1000 operations
Gen 2 : GC Generation 2 collects per 1000 operations
Allocated : Allocated memory per single operation (managed only, inclusive, 1KB = 1024B)
1 ms : 1 Millisecond (0.001 sec)
// * Diagnostic Output - MemoryDiagnoser *
// ***** BenchmarkRunner: End *****
// ** Remained 0 benchmark(s) to run **
Run time: 00:00:29 (29.93 sec), executed benchmarks: 2
Global total time: 00:00:33 (33.59 sec), executed benchmarks: 2
// * Artifacts cleanup *
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment