Skip to content

Instantly share code, notes, and snippets.

@pCYSl5EDgo
Last active March 31, 2020 10:11
Show Gist options
  • Save pCYSl5EDgo/71e16324b5ad44393bb0c1f2f1999714 to your computer and use it in GitHub Desktop.
Save pCYSl5EDgo/71e16324b5ad44393bb0c1f2f1999714 to your computer and use it in GitHub Desktop.
Benchmark pull request generated code(test) vs original generated code(test2)
// Validating benchmarks:
// ***** BenchmarkRunner: Start *****
// ***** Found 8 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\conve\source\repos\test\test\bin\Release\netcoreapp3.1\ab6d9d6e-30fe-4ed5-8680-16062df01f2d
// command took 1.6s and exited with 0
// start dotnet build -c Release --no-restore /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 in C:\Users\conve\source\repos\test\test\bin\Release\netcoreapp3.1\ab6d9d6e-30fe-4ed5-8680-16062df01f2d
// command took 2.12s and exited with 0
// ***** Done, took 00:00:03 (3.82 sec) *****
// Found 8 benchmarks:
// Program.DeserializeTest_NewEmbeddedFormatter: Job-ITDJDY(Runtime=.NET Core 3.1) [ConstantString=]
// Program.DeserializeTest2_OriginalGeneratedFormatter: Job-ITDJDY(Runtime=.NET Core 3.1) [ConstantString=]
// Program.DeserializeTest_NewEmbeddedFormatter: Job-ITDJDY(Runtime=.NET Core 3.1) [ConstantString=a]
// Program.DeserializeTest2_OriginalGeneratedFormatter: Job-ITDJDY(Runtime=.NET Core 3.1) [ConstantString=a]
// Program.DeserializeTest_NewEmbeddedFormatter: Job-ITDJDY(Runtime=.NET Core 3.1) [ConstantString=shorter]
// Program.DeserializeTest2_OriginalGeneratedFormatter: Job-ITDJDY(Runtime=.NET Core 3.1) [ConstantString=shorter]
// Program.DeserializeTest_NewEmbeddedFormatter: Job-ITDJDY(Runtime=.NET Core 3.1) [ConstantString=このベンチ(...)おおおん! [62]]
// Program.DeserializeTest2_OriginalGeneratedFormatter: Job-ITDJDY(Runtime=.NET Core 3.1) [ConstantString=このベンチ(...)おおおん! [62]]
// **************************
// Benchmark: Program.DeserializeTest_NewEmbeddedFormatter: Job-ITDJDY(Runtime=.NET Core 3.1) [ConstantString=]
// *** Execute ***
// Launch: 1 / 1
// Execute: dotnet "ab6d9d6e-30fe-4ed5-8680-16062df01f2d.dll" --benchmarkName "test.Program.DeserializeTest_NewEmbeddedFormatter(ConstantString: "")" --job "Runtime=.NET Core 3.1" --benchmarkId 0 in C:\Users\conve\source\repos\test\test\bin\Release\netcoreapp3.1\ab6d9d6e-30fe-4ed5-8680-16062df01f2d\bin\Release\netcoreapp3.1
// BeforeAnythingElse
// Benchmark Process Environment Information:
// Runtime=.NET Core 3.1.2 (CoreCLR 4.700.20.6602, CoreFX 4.700.20.6702), X64 RyuJIT
// GC=Concurrent Workstation
// Job: DefaultJob
OverheadJitting 1: 1 op, 300500.00 ns, 300.5000 us/op
WorkloadJitting 1: 1 op, 5072300.00 ns, 5.0723 ms/op
OverheadJitting 2: 16 op, 666200.00 ns, 41.6375 us/op
WorkloadJitting 2: 16 op, 686500.00 ns, 42.9062 us/op
WorkloadPilot 1: 16 op, 41700.00 ns, 2.6063 us/op
WorkloadPilot 2: 32 op, 72700.00 ns, 2.2719 us/op
WorkloadPilot 3: 64 op, 142800.00 ns, 2.2313 us/op
WorkloadPilot 4: 128 op, 292700.00 ns, 2.2867 us/op
WorkloadPilot 5: 256 op, 564200.00 ns, 2.2039 us/op
WorkloadPilot 6: 512 op, 1117800.00 ns, 2.1832 us/op
WorkloadPilot 7: 1024 op, 2230200.00 ns, 2.1779 us/op
WorkloadPilot 8: 2048 op, 4470100.00 ns, 2.1827 us/op
WorkloadPilot 9: 4096 op, 8923800.00 ns, 2.1787 us/op
WorkloadPilot 10: 8192 op, 18013000.00 ns, 2.1989 us/op
WorkloadPilot 11: 16384 op, 35910400.00 ns, 2.1918 us/op
WorkloadPilot 12: 32768 op, 73619800.00 ns, 2.2467 us/op
WorkloadPilot 13: 65536 op, 141339200.00 ns, 2.1567 us/op
WorkloadPilot 14: 131072 op, 67190000.00 ns, 512.6190 ns/op
WorkloadPilot 15: 262144 op, 137683300.00 ns, 525.2201 ns/op
WorkloadPilot 16: 524288 op, 261590000.00 ns, 498.9433 ns/op
WorkloadPilot 17: 1048576 op, 519416400.00 ns, 495.3541 ns/op
OverheadWarmup 1: 1048576 op, 3932500.00 ns, 3.7503 ns/op
OverheadWarmup 2: 1048576 op, 3896400.00 ns, 3.7159 ns/op
OverheadWarmup 3: 1048576 op, 3947200.00 ns, 3.7643 ns/op
OverheadWarmup 4: 1048576 op, 5049700.00 ns, 4.8158 ns/op
OverheadWarmup 5: 1048576 op, 3886400.00 ns, 3.7064 ns/op
OverheadWarmup 6: 1048576 op, 3867200.00 ns, 3.6880 ns/op
OverheadWarmup 7: 1048576 op, 3964000.00 ns, 3.7804 ns/op
OverheadWarmup 8: 1048576 op, 3879500.00 ns, 3.6998 ns/op
OverheadActual 1: 1048576 op, 3943000.00 ns, 3.7603 ns/op
OverheadActual 2: 1048576 op, 3964400.00 ns, 3.7807 ns/op
OverheadActual 3: 1048576 op, 3883100.00 ns, 3.7032 ns/op
OverheadActual 4: 1048576 op, 3841000.00 ns, 3.6631 ns/op
OverheadActual 5: 1048576 op, 3931900.00 ns, 3.7498 ns/op
OverheadActual 6: 1048576 op, 3851000.00 ns, 3.6726 ns/op
OverheadActual 7: 1048576 op, 3899900.00 ns, 3.7192 ns/op
OverheadActual 8: 1048576 op, 3847000.00 ns, 3.6688 ns/op
OverheadActual 9: 1048576 op, 3879600.00 ns, 3.6999 ns/op
OverheadActual 10: 1048576 op, 3954700.00 ns, 3.7715 ns/op
OverheadActual 11: 1048576 op, 3950900.00 ns, 3.7679 ns/op
OverheadActual 12: 1048576 op, 3961800.00 ns, 3.7783 ns/op
OverheadActual 13: 1048576 op, 3945800.00 ns, 3.7630 ns/op
OverheadActual 14: 1048576 op, 3938500.00 ns, 3.7560 ns/op
OverheadActual 15: 1048576 op, 3947200.00 ns, 3.7643 ns/op
WorkloadWarmup 1: 1048576 op, 513257500.00 ns, 489.4805 ns/op
WorkloadWarmup 2: 1048576 op, 520346700.00 ns, 496.2413 ns/op
WorkloadWarmup 3: 1048576 op, 517311400.00 ns, 493.3466 ns/op
WorkloadWarmup 4: 1048576 op, 523088200.00 ns, 498.8558 ns/op
WorkloadWarmup 5: 1048576 op, 530746900.00 ns, 506.1597 ns/op
WorkloadWarmup 6: 1048576 op, 524509200.00 ns, 500.2110 ns/op
// BeforeActualRun
WorkloadActual 1: 1048576 op, 523798800.00 ns, 499.5335 ns/op
WorkloadActual 2: 1048576 op, 548216600.00 ns, 522.8201 ns/op
WorkloadActual 3: 1048576 op, 538351600.00 ns, 513.4121 ns/op
WorkloadActual 4: 1048576 op, 523838200.00 ns, 499.5710 ns/op
WorkloadActual 5: 1048576 op, 513804600.00 ns, 490.0023 ns/op
WorkloadActual 6: 1048576 op, 548812600.00 ns, 523.3885 ns/op
WorkloadActual 7: 1048576 op, 550293600.00 ns, 524.8009 ns/op
WorkloadActual 8: 1048576 op, 533485000.00 ns, 508.7709 ns/op
WorkloadActual 9: 1048576 op, 545517900.00 ns, 520.2464 ns/op
WorkloadActual 10: 1048576 op, 542187300.00 ns, 517.0701 ns/op
WorkloadActual 11: 1048576 op, 549000500.00 ns, 523.5677 ns/op
WorkloadActual 12: 1048576 op, 547893500.00 ns, 522.5120 ns/op
WorkloadActual 13: 1048576 op, 524653000.00 ns, 500.3481 ns/op
WorkloadActual 14: 1048576 op, 540158100.00 ns, 515.1349 ns/op
WorkloadActual 15: 1048576 op, 528962400.00 ns, 504.4579 ns/op
WorkloadActual 16: 1048576 op, 536688300.00 ns, 511.8258 ns/op
WorkloadActual 17: 1048576 op, 536988000.00 ns, 512.1117 ns/op
// AfterActualRun
WorkloadResult 1: 1048576 op, 519860300.00 ns, 495.7774 ns/op
WorkloadResult 2: 1048576 op, 544278100.00 ns, 519.0640 ns/op
WorkloadResult 3: 1048576 op, 534413100.00 ns, 509.6560 ns/op
WorkloadResult 4: 1048576 op, 519899700.00 ns, 495.8150 ns/op
WorkloadResult 5: 1048576 op, 509866100.00 ns, 486.2462 ns/op
WorkloadResult 6: 1048576 op, 544874100.00 ns, 519.6324 ns/op
WorkloadResult 7: 1048576 op, 546355100.00 ns, 521.0448 ns/op
WorkloadResult 8: 1048576 op, 529546500.00 ns, 505.0149 ns/op
WorkloadResult 9: 1048576 op, 541579400.00 ns, 516.4904 ns/op
WorkloadResult 10: 1048576 op, 538248800.00 ns, 513.3141 ns/op
WorkloadResult 11: 1048576 op, 545062000.00 ns, 519.8116 ns/op
WorkloadResult 12: 1048576 op, 543955000.00 ns, 518.7559 ns/op
WorkloadResult 13: 1048576 op, 520714500.00 ns, 496.5920 ns/op
WorkloadResult 14: 1048576 op, 536219600.00 ns, 511.3789 ns/op
WorkloadResult 15: 1048576 op, 525023900.00 ns, 500.7018 ns/op
WorkloadResult 16: 1048576 op, 532749800.00 ns, 508.0698 ns/op
WorkloadResult 17: 1048576 op, 533049500.00 ns, 508.3556 ns/op
// AfterAll
// Benchmark Process 85932 has exited with code 0
Mean = 508.5718 ns, StdErr = 2.5405 ns (0.50%); N = 17, StdDev = 10.4749 ns
Min = 486.2462 ns, Q1 = 498.6469 ns, Median = 509.6560 ns, Q3 = 518.9100 ns, Max = 521.0448 ns
IQR = 20.2631 ns, LowerFence = 468.2523 ns, UpperFence = 549.3046 ns
ConfidenceInterval = [498.3716 ns; 518.7720 ns] (CI 99.9%), Margin = 10.2002 ns (2.01% of Mean)
Skewness = -0.51, Kurtosis = 2, MValue = 2
// **************************
// Benchmark: Program.DeserializeTest2_OriginalGeneratedFormatter: Job-ITDJDY(Runtime=.NET Core 3.1) [ConstantString=]
// *** Execute ***
// Launch: 1 / 1
// Execute: dotnet "ab6d9d6e-30fe-4ed5-8680-16062df01f2d.dll" --benchmarkName "test.Program.DeserializeTest2_OriginalGeneratedFormatter(ConstantString: "")" --job "Runtime=.NET Core 3.1" --benchmarkId 1 in C:\Users\conve\source\repos\test\test\bin\Release\netcoreapp3.1\ab6d9d6e-30fe-4ed5-8680-16062df01f2d\bin\Release\netcoreapp3.1
// BeforeAnythingElse
// Benchmark Process Environment Information:
// Runtime=.NET Core 3.1.2 (CoreCLR 4.700.20.6602, CoreFX 4.700.20.6702), X64 RyuJIT
// GC=Concurrent Workstation
// Job: DefaultJob
OverheadJitting 1: 1 op, 274300.00 ns, 274.3000 us/op
WorkloadJitting 1: 1 op, 4599600.00 ns, 4.5996 ms/op
OverheadJitting 2: 16 op, 656000.00 ns, 41.0000 us/op
WorkloadJitting 2: 16 op, 701500.00 ns, 43.8438 us/op
WorkloadPilot 1: 16 op, 63000.00 ns, 3.9375 us/op
WorkloadPilot 2: 32 op, 117200.00 ns, 3.6625 us/op
WorkloadPilot 3: 64 op, 229700.00 ns, 3.5891 us/op
WorkloadPilot 4: 128 op, 444300.00 ns, 3.4711 us/op
WorkloadPilot 5: 256 op, 882100.00 ns, 3.4457 us/op
WorkloadPilot 6: 512 op, 1770900.00 ns, 3.4588 us/op
WorkloadPilot 7: 1024 op, 3439100.00 ns, 3.3585 us/op
WorkloadPilot 8: 2048 op, 6807900.00 ns, 3.3242 us/op
WorkloadPilot 9: 4096 op, 13927700.00 ns, 3.4003 us/op
WorkloadPilot 10: 8192 op, 27123400.00 ns, 3.3110 us/op
WorkloadPilot 11: 16384 op, 54096500.00 ns, 3.3018 us/op
WorkloadPilot 12: 32768 op, 84998500.00 ns, 2.5939 us/op
WorkloadPilot 13: 65536 op, 52694000.00 ns, 804.0466 ns/op
WorkloadPilot 14: 131072 op, 107116800.00 ns, 817.2363 ns/op
WorkloadPilot 15: 262144 op, 189003300.00 ns, 720.9904 ns/op
WorkloadPilot 16: 524288 op, 358183300.00 ns, 683.1804 ns/op
WorkloadPilot 17: 1048576 op, 731273700.00 ns, 697.3969 ns/op
OverheadWarmup 1: 1048576 op, 3971200.00 ns, 3.7872 ns/op
OverheadWarmup 2: 1048576 op, 3962900.00 ns, 3.7793 ns/op
OverheadWarmup 3: 1048576 op, 4024700.00 ns, 3.8383 ns/op
OverheadWarmup 4: 1048576 op, 3985700.00 ns, 3.8011 ns/op
OverheadWarmup 5: 1048576 op, 3928000.00 ns, 3.7460 ns/op
OverheadWarmup 6: 1048576 op, 3911500.00 ns, 3.7303 ns/op
OverheadWarmup 7: 1048576 op, 3969200.00 ns, 3.7853 ns/op
OverheadWarmup 8: 1048576 op, 3987500.00 ns, 3.8028 ns/op
OverheadWarmup 9: 1048576 op, 3929700.00 ns, 3.7477 ns/op
OverheadActual 1: 1048576 op, 4004600.00 ns, 3.8191 ns/op
OverheadActual 2: 1048576 op, 3907400.00 ns, 3.7264 ns/op
OverheadActual 3: 1048576 op, 3972000.00 ns, 3.7880 ns/op
OverheadActual 4: 1048576 op, 3969600.00 ns, 3.7857 ns/op
OverheadActual 5: 1048576 op, 3977600.00 ns, 3.7933 ns/op
OverheadActual 6: 1048576 op, 4062900.00 ns, 3.8747 ns/op
OverheadActual 7: 1048576 op, 4124200.00 ns, 3.9331 ns/op
OverheadActual 8: 1048576 op, 4110300.00 ns, 3.9199 ns/op
OverheadActual 9: 1048576 op, 3925200.00 ns, 3.7434 ns/op
OverheadActual 10: 1048576 op, 3954100.00 ns, 3.7709 ns/op
OverheadActual 11: 1048576 op, 3989400.00 ns, 3.8046 ns/op
OverheadActual 12: 1048576 op, 4079500.00 ns, 3.8905 ns/op
OverheadActual 13: 1048576 op, 4153200.00 ns, 3.9608 ns/op
OverheadActual 14: 1048576 op, 4042600.00 ns, 3.8553 ns/op
OverheadActual 15: 1048576 op, 3948000.00 ns, 3.7651 ns/op
WorkloadWarmup 1: 1048576 op, 760567600.00 ns, 725.3338 ns/op
WorkloadWarmup 2: 1048576 op, 717400600.00 ns, 684.1665 ns/op
WorkloadWarmup 3: 1048576 op, 734830900.00 ns, 700.7894 ns/op
WorkloadWarmup 4: 1048576 op, 715755300.00 ns, 682.5974 ns/op
WorkloadWarmup 5: 1048576 op, 709119700.00 ns, 676.2692 ns/op
WorkloadWarmup 6: 1048576 op, 705510400.00 ns, 672.8271 ns/op
WorkloadWarmup 7: 1048576 op, 704815100.00 ns, 672.1641 ns/op
WorkloadWarmup 8: 1048576 op, 704533100.00 ns, 671.8951 ns/op
WorkloadWarmup 9: 1048576 op, 703988500.00 ns, 671.3758 ns/op
WorkloadWarmup 10: 1048576 op, 708385600.00 ns, 675.5692 ns/op
WorkloadWarmup 11: 1048576 op, 705148900.00 ns, 672.4824 ns/op
// BeforeActualRun
WorkloadActual 1: 1048576 op, 704653300.00 ns, 672.0098 ns/op
WorkloadActual 2: 1048576 op, 728335000.00 ns, 694.5944 ns/op
WorkloadActual 3: 1048576 op, 733586500.00 ns, 699.6026 ns/op
WorkloadActual 4: 1048576 op, 703164200.00 ns, 670.5896 ns/op
WorkloadActual 5: 1048576 op, 920518000.00 ns, 877.8744 ns/op
WorkloadActual 6: 1048576 op, 711902600.00 ns, 678.9232 ns/op
WorkloadActual 7: 1048576 op, 705933200.00 ns, 673.2304 ns/op
WorkloadActual 8: 1048576 op, 1038128300.00 ns, 990.0363 ns/op
WorkloadActual 9: 1048576 op, 800301300.00 ns, 763.2268 ns/op
WorkloadActual 10: 1048576 op, 728971200.00 ns, 695.2011 ns/op
WorkloadActual 11: 1048576 op, 926551000.00 ns, 883.6279 ns/op
WorkloadActual 12: 1048576 op, 706593300.00 ns, 673.8599 ns/op
WorkloadActual 13: 1048576 op, 728221300.00 ns, 694.4860 ns/op
WorkloadActual 14: 1048576 op, 711219500.00 ns, 678.2718 ns/op
WorkloadActual 15: 1048576 op, 902493500.00 ns, 860.6849 ns/op
WorkloadActual 16: 1048576 op, 719524800.00 ns, 686.1923 ns/op
WorkloadActual 17: 1048576 op, 708823500.00 ns, 675.9868 ns/op
WorkloadActual 18: 1048576 op, 722162400.00 ns, 688.7077 ns/op
WorkloadActual 19: 1048576 op, 840182100.00 ns, 801.2601 ns/op
WorkloadActual 20: 1048576 op, 763660100.00 ns, 728.2830 ns/op
WorkloadActual 21: 1048576 op, 915246700.00 ns, 872.8473 ns/op
WorkloadActual 22: 1048576 op, 717912200.00 ns, 684.6544 ns/op
WorkloadActual 23: 1048576 op, 729297500.00 ns, 695.5123 ns/op
WorkloadActual 24: 1048576 op, 872264100.00 ns, 831.8559 ns/op
WorkloadActual 25: 1048576 op, 913516100.00 ns, 871.1968 ns/op
WorkloadActual 26: 1048576 op, 920725900.00 ns, 878.0726 ns/op
WorkloadActual 27: 1048576 op, 917077600.00 ns, 874.5934 ns/op
WorkloadActual 28: 1048576 op, 703777700.00 ns, 671.1747 ns/op
WorkloadActual 29: 1048576 op, 701927200.00 ns, 669.4099 ns/op
WorkloadActual 30: 1048576 op, 702542400.00 ns, 669.9966 ns/op
WorkloadActual 31: 1048576 op, 917266700.00 ns, 874.7737 ns/op
WorkloadActual 32: 1048576 op, 700804200.00 ns, 668.3390 ns/op
WorkloadActual 33: 1048576 op, 968320800.00 ns, 923.4627 ns/op
WorkloadActual 34: 1048576 op, 701575900.00 ns, 669.0749 ns/op
WorkloadActual 35: 1048576 op, 701987800.00 ns, 669.4677 ns/op
WorkloadActual 36: 1048576 op, 712795400.00 ns, 679.7747 ns/op
WorkloadActual 37: 1048576 op, 745308600.00 ns, 710.7817 ns/op
WorkloadActual 38: 1048576 op, 968557000.00 ns, 923.6879 ns/op
WorkloadActual 39: 1048576 op, 721953400.00 ns, 688.5084 ns/op
WorkloadActual 40: 1048576 op, 705902800.00 ns, 673.2014 ns/op
WorkloadActual 41: 1048576 op, 914015000.00 ns, 871.6726 ns/op
WorkloadActual 42: 1048576 op, 708249400.00 ns, 675.4393 ns/op
WorkloadActual 43: 1048576 op, 711205700.00 ns, 678.2586 ns/op
WorkloadActual 44: 1048576 op, 709578900.00 ns, 676.7072 ns/op
WorkloadActual 45: 1048576 op, 928850300.00 ns, 885.8207 ns/op
WorkloadActual 46: 1048576 op, 703623400.00 ns, 671.0276 ns/op
WorkloadActual 47: 1048576 op, 704701000.00 ns, 672.0552 ns/op
WorkloadActual 48: 1048576 op, 701708700.00 ns, 669.2016 ns/op
WorkloadActual 49: 1048576 op, 927712200.00 ns, 884.7353 ns/op
WorkloadActual 50: 1048576 op, 922330900.00 ns, 879.6033 ns/op
WorkloadActual 51: 1048576 op, 717980400.00 ns, 684.7195 ns/op
WorkloadActual 52: 1048576 op, 705034000.00 ns, 672.3728 ns/op
WorkloadActual 53: 1048576 op, 704996300.00 ns, 672.3369 ns/op
WorkloadActual 54: 1048576 op, 704835300.00 ns, 672.1833 ns/op
WorkloadActual 55: 1048576 op, 711200800.00 ns, 678.2539 ns/op
WorkloadActual 56: 1048576 op, 708124800.00 ns, 675.3204 ns/op
WorkloadActual 57: 1048576 op, 706609600.00 ns, 673.8754 ns/op
WorkloadActual 58: 1048576 op, 729105700.00 ns, 695.3294 ns/op
WorkloadActual 59: 1048576 op, 713073100.00 ns, 680.0395 ns/op
WorkloadActual 60: 1048576 op, 715305000.00 ns, 682.1680 ns/op
WorkloadActual 61: 1048576 op, 701711100.00 ns, 669.2039 ns/op
WorkloadActual 62: 1048576 op, 700788500.00 ns, 668.3240 ns/op
WorkloadActual 63: 1048576 op, 701347000.00 ns, 668.8566 ns/op
WorkloadActual 64: 1048576 op, 705555200.00 ns, 672.8699 ns/op
WorkloadActual 65: 1048576 op, 702745000.00 ns, 670.1899 ns/op
WorkloadActual 66: 1048576 op, 708342300.00 ns, 675.5279 ns/op
WorkloadActual 67: 1048576 op, 701230900.00 ns, 668.7459 ns/op
WorkloadActual 68: 1048576 op, 706482500.00 ns, 673.7542 ns/op
WorkloadActual 69: 1048576 op, 717500100.00 ns, 684.2614 ns/op
WorkloadActual 70: 1048576 op, 727634300.00 ns, 693.9261 ns/op
WorkloadActual 71: 1048576 op, 716398100.00 ns, 683.2105 ns/op
WorkloadActual 72: 1048576 op, 717790100.00 ns, 684.5380 ns/op
WorkloadActual 73: 1048576 op, 719656200.00 ns, 686.3176 ns/op
// AfterActualRun
WorkloadResult 1: 1048576 op, 700663900.00 ns, 668.2052 ns/op
WorkloadResult 2: 1048576 op, 724345600.00 ns, 690.7898 ns/op
WorkloadResult 3: 1048576 op, 729597100.00 ns, 695.7980 ns/op
WorkloadResult 4: 1048576 op, 699174800.00 ns, 666.7850 ns/op
WorkloadResult 5: 1048576 op, 707913200.00 ns, 675.1186 ns/op
WorkloadResult 6: 1048576 op, 701943800.00 ns, 669.4258 ns/op
WorkloadResult 7: 1048576 op, 796311900.00 ns, 759.4222 ns/op
WorkloadResult 8: 1048576 op, 724981800.00 ns, 691.3965 ns/op
WorkloadResult 9: 1048576 op, 702603900.00 ns, 670.0553 ns/op
WorkloadResult 10: 1048576 op, 724231900.00 ns, 690.6814 ns/op
WorkloadResult 11: 1048576 op, 707230100.00 ns, 674.4672 ns/op
WorkloadResult 12: 1048576 op, 715535400.00 ns, 682.3877 ns/op
WorkloadResult 13: 1048576 op, 704834100.00 ns, 672.1822 ns/op
WorkloadResult 14: 1048576 op, 718173000.00 ns, 684.9031 ns/op
WorkloadResult 15: 1048576 op, 836192700.00 ns, 797.4555 ns/op
WorkloadResult 16: 1048576 op, 759670700.00 ns, 724.4784 ns/op
WorkloadResult 17: 1048576 op, 713922800.00 ns, 680.8498 ns/op
WorkloadResult 18: 1048576 op, 725308100.00 ns, 691.7077 ns/op
WorkloadResult 19: 1048576 op, 868274700.00 ns, 828.0513 ns/op
WorkloadResult 20: 1048576 op, 699788300.00 ns, 667.3701 ns/op
WorkloadResult 21: 1048576 op, 697937800.00 ns, 665.6054 ns/op
WorkloadResult 22: 1048576 op, 698553000.00 ns, 666.1921 ns/op
WorkloadResult 23: 1048576 op, 696814800.00 ns, 664.5344 ns/op
WorkloadResult 24: 1048576 op, 697586500.00 ns, 665.2703 ns/op
WorkloadResult 25: 1048576 op, 697998400.00 ns, 665.6631 ns/op
WorkloadResult 26: 1048576 op, 708806000.00 ns, 675.9701 ns/op
WorkloadResult 27: 1048576 op, 741319200.00 ns, 706.9771 ns/op
WorkloadResult 28: 1048576 op, 717964000.00 ns, 684.7038 ns/op
WorkloadResult 29: 1048576 op, 701913400.00 ns, 669.3968 ns/op
WorkloadResult 30: 1048576 op, 704260000.00 ns, 671.6347 ns/op
WorkloadResult 31: 1048576 op, 707216300.00 ns, 674.4540 ns/op
WorkloadResult 32: 1048576 op, 705589500.00 ns, 672.9026 ns/op
WorkloadResult 33: 1048576 op, 699634000.00 ns, 667.2230 ns/op
WorkloadResult 34: 1048576 op, 700711600.00 ns, 668.2507 ns/op
WorkloadResult 35: 1048576 op, 697719300.00 ns, 665.3970 ns/op
WorkloadResult 36: 1048576 op, 713991000.00 ns, 680.9149 ns/op
WorkloadResult 37: 1048576 op, 701044600.00 ns, 668.5682 ns/op
WorkloadResult 38: 1048576 op, 701006900.00 ns, 668.5323 ns/op
WorkloadResult 39: 1048576 op, 700845900.00 ns, 668.3787 ns/op
WorkloadResult 40: 1048576 op, 707211400.00 ns, 674.4493 ns/op
WorkloadResult 41: 1048576 op, 704135400.00 ns, 671.5158 ns/op
WorkloadResult 42: 1048576 op, 702620200.00 ns, 670.0708 ns/op
WorkloadResult 43: 1048576 op, 725116300.00 ns, 691.5248 ns/op
WorkloadResult 44: 1048576 op, 709083700.00 ns, 676.2349 ns/op
WorkloadResult 45: 1048576 op, 711315600.00 ns, 678.3634 ns/op
WorkloadResult 46: 1048576 op, 697721700.00 ns, 665.3993 ns/op
WorkloadResult 47: 1048576 op, 696799100.00 ns, 664.5194 ns/op
WorkloadResult 48: 1048576 op, 697357600.00 ns, 665.0520 ns/op
WorkloadResult 49: 1048576 op, 701565800.00 ns, 669.0653 ns/op
WorkloadResult 50: 1048576 op, 698755600.00 ns, 666.3853 ns/op
WorkloadResult 51: 1048576 op, 704352900.00 ns, 671.7233 ns/op
WorkloadResult 52: 1048576 op, 697241500.00 ns, 664.9413 ns/op
WorkloadResult 53: 1048576 op, 702493100.00 ns, 669.9496 ns/op
WorkloadResult 54: 1048576 op, 713510700.00 ns, 680.4568 ns/op
WorkloadResult 55: 1048576 op, 723644900.00 ns, 690.1216 ns/op
WorkloadResult 56: 1048576 op, 712408700.00 ns, 679.4059 ns/op
WorkloadResult 57: 1048576 op, 713800700.00 ns, 680.7334 ns/op
WorkloadResult 58: 1048576 op, 715666800.00 ns, 682.5130 ns/op
// AfterAll
// Benchmark Process 14000 has exited with code 0
Mean = 682.1470 ns, StdErr = 3.8948 ns (0.57%); N = 58, StdDev = 29.6622 ns
Min = 664.5194 ns, Q1 = 668.2052 ns, Median = 672.5424 ns, Q3 = 682.5130 ns, Max = 828.0513 ns
IQR = 14.3079 ns, LowerFence = 646.7433 ns, UpperFence = 703.9749 ns
ConfidenceInterval = [668.6336 ns; 695.6604 ns] (CI 99.9%), Margin = 13.5134 ns (1.98% of Mean)
Skewness = 3.37, Kurtosis = 14.94, MValue = 2
// **************************
// Benchmark: Program.DeserializeTest_NewEmbeddedFormatter: Job-ITDJDY(Runtime=.NET Core 3.1) [ConstantString=a]
// *** Execute ***
// Launch: 1 / 1
// Execute: dotnet "ab6d9d6e-30fe-4ed5-8680-16062df01f2d.dll" --benchmarkName "test.Program.DeserializeTest_NewEmbeddedFormatter(ConstantString: "a")" --job "Runtime=.NET Core 3.1" --benchmarkId 2 in C:\Users\conve\source\repos\test\test\bin\Release\netcoreapp3.1\ab6d9d6e-30fe-4ed5-8680-16062df01f2d\bin\Release\netcoreapp3.1
// BeforeAnythingElse
// Benchmark Process Environment Information:
// Runtime=.NET Core 3.1.2 (CoreCLR 4.700.20.6602, CoreFX 4.700.20.6702), X64 RyuJIT
// GC=Concurrent Workstation
// Job: DefaultJob
OverheadJitting 1: 1 op, 266600.00 ns, 266.6000 us/op
WorkloadJitting 1: 1 op, 4725600.00 ns, 4.7256 ms/op
OverheadJitting 2: 16 op, 695900.00 ns, 43.4937 us/op
WorkloadJitting 2: 16 op, 660900.00 ns, 41.3062 us/op
WorkloadPilot 1: 16 op, 39300.00 ns, 2.4562 us/op
WorkloadPilot 2: 32 op, 96800.00 ns, 3.0250 us/op
WorkloadPilot 3: 64 op, 141600.00 ns, 2.2125 us/op
WorkloadPilot 4: 128 op, 291400.00 ns, 2.2766 us/op
WorkloadPilot 5: 256 op, 596900.00 ns, 2.3316 us/op
WorkloadPilot 6: 512 op, 1133800.00 ns, 2.2145 us/op
WorkloadPilot 7: 1024 op, 2294500.00 ns, 2.2407 us/op
WorkloadPilot 8: 2048 op, 4599000.00 ns, 2.2456 us/op
WorkloadPilot 9: 4096 op, 9202700.00 ns, 2.2468 us/op
WorkloadPilot 10: 8192 op, 22343800.00 ns, 2.7275 us/op
WorkloadPilot 11: 16384 op, 36199000.00 ns, 2.2094 us/op
WorkloadPilot 12: 32768 op, 74132700.00 ns, 2.2624 us/op
WorkloadPilot 13: 65536 op, 141621200.00 ns, 2.1610 us/op
WorkloadPilot 14: 131072 op, 68186600.00 ns, 520.2225 ns/op
WorkloadPilot 15: 262144 op, 129787800.00 ns, 495.1012 ns/op
WorkloadPilot 16: 524288 op, 261125200.00 ns, 498.0568 ns/op
WorkloadPilot 17: 1048576 op, 525512600.00 ns, 501.1679 ns/op
OverheadWarmup 1: 1048576 op, 3907500.00 ns, 3.7265 ns/op
OverheadWarmup 2: 1048576 op, 3848000.00 ns, 3.6697 ns/op
OverheadWarmup 3: 1048576 op, 3896800.00 ns, 3.7163 ns/op
OverheadWarmup 4: 1048576 op, 3881000.00 ns, 3.7012 ns/op
OverheadWarmup 5: 1048576 op, 3941600.00 ns, 3.7590 ns/op
OverheadWarmup 6: 1048576 op, 3877600.00 ns, 3.6980 ns/op
OverheadActual 1: 1048576 op, 3934700.00 ns, 3.7524 ns/op
OverheadActual 2: 1048576 op, 3836700.00 ns, 3.6590 ns/op
OverheadActual 3: 1048576 op, 3999400.00 ns, 3.8141 ns/op
OverheadActual 4: 1048576 op, 3906200.00 ns, 3.7252 ns/op
OverheadActual 5: 1048576 op, 3907100.00 ns, 3.7261 ns/op
OverheadActual 6: 1048576 op, 3899300.00 ns, 3.7187 ns/op
OverheadActual 7: 1048576 op, 3879100.00 ns, 3.6994 ns/op
OverheadActual 8: 1048576 op, 3846500.00 ns, 3.6683 ns/op
OverheadActual 9: 1048576 op, 3890100.00 ns, 3.7099 ns/op
OverheadActual 10: 1048576 op, 3839700.00 ns, 3.6618 ns/op
OverheadActual 11: 1048576 op, 3922600.00 ns, 3.7409 ns/op
OverheadActual 12: 1048576 op, 3955300.00 ns, 3.7721 ns/op
OverheadActual 13: 1048576 op, 3947400.00 ns, 3.7645 ns/op
OverheadActual 14: 1048576 op, 3949000.00 ns, 3.7661 ns/op
OverheadActual 15: 1048576 op, 3938700.00 ns, 3.7562 ns/op
WorkloadWarmup 1: 1048576 op, 525401900.00 ns, 501.0623 ns/op
WorkloadWarmup 2: 1048576 op, 516963000.00 ns, 493.0143 ns/op
WorkloadWarmup 3: 1048576 op, 522762300.00 ns, 498.5450 ns/op
WorkloadWarmup 4: 1048576 op, 518069800.00 ns, 494.0699 ns/op
WorkloadWarmup 5: 1048576 op, 520693600.00 ns, 496.5721 ns/op
WorkloadWarmup 6: 1048576 op, 517959400.00 ns, 493.9646 ns/op
// BeforeActualRun
WorkloadActual 1: 1048576 op, 520603000.00 ns, 496.4857 ns/op
WorkloadActual 2: 1048576 op, 509157000.00 ns, 485.5700 ns/op
WorkloadActual 3: 1048576 op, 513511100.00 ns, 489.7223 ns/op
WorkloadActual 4: 1048576 op, 516137900.00 ns, 492.2275 ns/op
WorkloadActual 5: 1048576 op, 516422200.00 ns, 492.4986 ns/op
WorkloadActual 6: 1048576 op, 513811200.00 ns, 490.0085 ns/op
WorkloadActual 7: 1048576 op, 513614500.00 ns, 489.8210 ns/op
WorkloadActual 8: 1048576 op, 509466800.00 ns, 485.8654 ns/op
WorkloadActual 9: 1048576 op, 514833500.00 ns, 490.9835 ns/op
WorkloadActual 10: 1048576 op, 528365600.00 ns, 503.8887 ns/op
WorkloadActual 11: 1048576 op, 525655100.00 ns, 501.3038 ns/op
WorkloadActual 12: 1048576 op, 519085500.00 ns, 495.0385 ns/op
WorkloadActual 13: 1048576 op, 517096200.00 ns, 493.1414 ns/op
WorkloadActual 14: 1048576 op, 527212500.00 ns, 502.7890 ns/op
WorkloadActual 15: 1048576 op, 509219000.00 ns, 485.6291 ns/op
// AfterActualRun
WorkloadResult 1: 1048576 op, 516695900.00 ns, 492.7596 ns/op
WorkloadResult 2: 1048576 op, 505249900.00 ns, 481.8439 ns/op
WorkloadResult 3: 1048576 op, 509604000.00 ns, 485.9962 ns/op
WorkloadResult 4: 1048576 op, 512230800.00 ns, 488.5014 ns/op
WorkloadResult 5: 1048576 op, 512515100.00 ns, 488.7725 ns/op
WorkloadResult 6: 1048576 op, 509904100.00 ns, 486.2824 ns/op
WorkloadResult 7: 1048576 op, 509707400.00 ns, 486.0949 ns/op
WorkloadResult 8: 1048576 op, 505559700.00 ns, 482.1393 ns/op
WorkloadResult 9: 1048576 op, 510926400.00 ns, 487.2574 ns/op
WorkloadResult 10: 1048576 op, 524458500.00 ns, 500.1626 ns/op
WorkloadResult 11: 1048576 op, 521748000.00 ns, 497.5777 ns/op
WorkloadResult 12: 1048576 op, 515178400.00 ns, 491.3124 ns/op
WorkloadResult 13: 1048576 op, 513189100.00 ns, 489.4153 ns/op
WorkloadResult 14: 1048576 op, 523305400.00 ns, 499.0629 ns/op
WorkloadResult 15: 1048576 op, 505311900.00 ns, 481.9030 ns/op
// AfterAll
// Benchmark Process 46264 has exited with code 0
Mean = 489.2721 ns, StdErr = 1.5350 ns (0.31%); N = 15, StdDev = 5.9451 ns
Min = 481.8439 ns, Q1 = 485.9962 ns, Median = 488.5014 ns, Q3 = 492.7596 ns, Max = 500.1626 ns
IQR = 6.7634 ns, LowerFence = 475.8512 ns, UpperFence = 502.9047 ns
ConfidenceInterval = [482.9164 ns; 495.6278 ns] (CI 99.9%), Margin = 6.3557 ns (1.30% of Mean)
Skewness = 0.5, Kurtosis = 1.98, MValue = 2
// **************************
// Benchmark: Program.DeserializeTest2_OriginalGeneratedFormatter: Job-ITDJDY(Runtime=.NET Core 3.1) [ConstantString=a]
// *** Execute ***
// Launch: 1 / 1
// Execute: dotnet "ab6d9d6e-30fe-4ed5-8680-16062df01f2d.dll" --benchmarkName "test.Program.DeserializeTest2_OriginalGeneratedFormatter(ConstantString: "a")" --job "Runtime=.NET Core 3.1" --benchmarkId 3 in C:\Users\conve\source\repos\test\test\bin\Release\netcoreapp3.1\ab6d9d6e-30fe-4ed5-8680-16062df01f2d\bin\Release\netcoreapp3.1
// BeforeAnythingElse
// Benchmark Process Environment Information:
// Runtime=.NET Core 3.1.2 (CoreCLR 4.700.20.6602, CoreFX 4.700.20.6702), X64 RyuJIT
// GC=Concurrent Workstation
// Job: DefaultJob
OverheadJitting 1: 1 op, 272600.00 ns, 272.6000 us/op
WorkloadJitting 1: 1 op, 4558700.00 ns, 4.5587 ms/op
OverheadJitting 2: 16 op, 661300.00 ns, 41.3312 us/op
WorkloadJitting 2: 16 op, 707000.00 ns, 44.1875 us/op
WorkloadPilot 1: 16 op, 60100.00 ns, 3.7563 us/op
WorkloadPilot 2: 32 op, 111600.00 ns, 3.4875 us/op
WorkloadPilot 3: 64 op, 220900.00 ns, 3.4516 us/op
WorkloadPilot 4: 128 op, 443100.00 ns, 3.4617 us/op
WorkloadPilot 5: 256 op, 869300.00 ns, 3.3957 us/op
WorkloadPilot 6: 512 op, 1746700.00 ns, 3.4115 us/op
WorkloadPilot 7: 1024 op, 3481000.00 ns, 3.3994 us/op
WorkloadPilot 8: 2048 op, 6953500.00 ns, 3.3953 us/op
WorkloadPilot 9: 4096 op, 13751300.00 ns, 3.3573 us/op
WorkloadPilot 10: 8192 op, 27345200.00 ns, 3.3380 us/op
WorkloadPilot 11: 16384 op, 54720200.00 ns, 3.3399 us/op
WorkloadPilot 12: 32768 op, 95939700.00 ns, 2.9278 us/op
WorkloadPilot 13: 65536 op, 51307200.00 ns, 782.8857 ns/op
WorkloadPilot 14: 131072 op, 89536300.00 ns, 683.1078 ns/op
WorkloadPilot 15: 262144 op, 179316400.00 ns, 684.0378 ns/op
WorkloadPilot 16: 524288 op, 358249800.00 ns, 683.3073 ns/op
WorkloadPilot 17: 1048576 op, 731188900.00 ns, 697.3161 ns/op
OverheadWarmup 1: 1048576 op, 4016900.00 ns, 3.8308 ns/op
OverheadWarmup 2: 1048576 op, 4026400.00 ns, 3.8399 ns/op
OverheadWarmup 3: 1048576 op, 4032100.00 ns, 3.8453 ns/op
OverheadWarmup 4: 1048576 op, 4023600.00 ns, 3.8372 ns/op
OverheadWarmup 5: 1048576 op, 4022900.00 ns, 3.8365 ns/op
OverheadWarmup 6: 1048576 op, 4003200.00 ns, 3.8177 ns/op
OverheadWarmup 7: 1048576 op, 4021900.00 ns, 3.8356 ns/op
OverheadWarmup 8: 1048576 op, 4029200.00 ns, 3.8425 ns/op
OverheadWarmup 9: 1048576 op, 4030000.00 ns, 3.8433 ns/op
OverheadWarmup 10: 1048576 op, 4008400.00 ns, 3.8227 ns/op
OverheadActual 1: 1048576 op, 4022800.00 ns, 3.8364 ns/op
OverheadActual 2: 1048576 op, 4023300.00 ns, 3.8369 ns/op
OverheadActual 3: 1048576 op, 4021200.00 ns, 3.8349 ns/op
OverheadActual 4: 1048576 op, 4022000.00 ns, 3.8357 ns/op
OverheadActual 5: 1048576 op, 4028800.00 ns, 3.8422 ns/op
OverheadActual 6: 1048576 op, 4018600.00 ns, 3.8324 ns/op
OverheadActual 7: 1048576 op, 4037800.00 ns, 3.8507 ns/op
OverheadActual 8: 1048576 op, 4022400.00 ns, 3.8361 ns/op
OverheadActual 9: 1048576 op, 4027900.00 ns, 3.8413 ns/op
OverheadActual 10: 1048576 op, 4051900.00 ns, 3.8642 ns/op
OverheadActual 11: 1048576 op, 4038500.00 ns, 3.8514 ns/op
OverheadActual 12: 1048576 op, 4043300.00 ns, 3.8560 ns/op
OverheadActual 13: 1048576 op, 4025700.00 ns, 3.8392 ns/op
OverheadActual 14: 1048576 op, 4031100.00 ns, 3.8444 ns/op
OverheadActual 15: 1048576 op, 4025200.00 ns, 3.8387 ns/op
WorkloadWarmup 1: 1048576 op, 719892800.00 ns, 686.5433 ns/op
WorkloadWarmup 2: 1048576 op, 716051700.00 ns, 682.8801 ns/op
WorkloadWarmup 3: 1048576 op, 727959700.00 ns, 694.2365 ns/op
WorkloadWarmup 4: 1048576 op, 722981100.00 ns, 689.4885 ns/op
WorkloadWarmup 5: 1048576 op, 724780500.00 ns, 691.2045 ns/op
WorkloadWarmup 6: 1048576 op, 726544900.00 ns, 692.8872 ns/op
WorkloadWarmup 7: 1048576 op, 724172800.00 ns, 690.6250 ns/op
// BeforeActualRun
WorkloadActual 1: 1048576 op, 737860700.00 ns, 703.6788 ns/op
WorkloadActual 2: 1048576 op, 729823300.00 ns, 696.0137 ns/op
WorkloadActual 3: 1048576 op, 727970000.00 ns, 694.2463 ns/op
WorkloadActual 4: 1048576 op, 725590400.00 ns, 691.9769 ns/op
WorkloadActual 5: 1048576 op, 729845600.00 ns, 696.0350 ns/op
WorkloadActual 6: 1048576 op, 737282700.00 ns, 703.1276 ns/op
WorkloadActual 7: 1048576 op, 730230700.00 ns, 696.4023 ns/op
WorkloadActual 8: 1048576 op, 725007300.00 ns, 691.4208 ns/op
WorkloadActual 9: 1048576 op, 735261900.00 ns, 701.2004 ns/op
WorkloadActual 10: 1048576 op, 749161000.00 ns, 714.4556 ns/op
WorkloadActual 11: 1048576 op, 738755600.00 ns, 704.5322 ns/op
WorkloadActual 12: 1048576 op, 729080900.00 ns, 695.3057 ns/op
WorkloadActual 13: 1048576 op, 723080400.00 ns, 689.5832 ns/op
WorkloadActual 14: 1048576 op, 931367700.00 ns, 888.2215 ns/op
WorkloadActual 15: 1048576 op, 725393900.00 ns, 691.7895 ns/op
// AfterActualRun
WorkloadResult 1: 1048576 op, 733835000.00 ns, 699.8396 ns/op
WorkloadResult 2: 1048576 op, 725797600.00 ns, 692.1745 ns/op
WorkloadResult 3: 1048576 op, 723944300.00 ns, 690.4071 ns/op
WorkloadResult 4: 1048576 op, 721564700.00 ns, 688.1377 ns/op
WorkloadResult 5: 1048576 op, 725819900.00 ns, 692.1958 ns/op
WorkloadResult 6: 1048576 op, 733257000.00 ns, 699.2884 ns/op
WorkloadResult 7: 1048576 op, 726205000.00 ns, 692.5631 ns/op
WorkloadResult 8: 1048576 op, 720981600.00 ns, 687.5816 ns/op
WorkloadResult 9: 1048576 op, 731236200.00 ns, 697.3612 ns/op
WorkloadResult 10: 1048576 op, 745135300.00 ns, 710.6164 ns/op
WorkloadResult 11: 1048576 op, 734729900.00 ns, 700.6930 ns/op
WorkloadResult 12: 1048576 op, 725055200.00 ns, 691.4665 ns/op
WorkloadResult 13: 1048576 op, 719054700.00 ns, 685.7440 ns/op
WorkloadResult 14: 1048576 op, 721368200.00 ns, 687.9503 ns/op
// AfterAll
// Benchmark Process 35520 has exited with code 0
Mean = 694.0014 ns, StdErr = 1.8196 ns (0.26%); N = 14, StdDev = 6.8082 ns
Min = 685.7440 ns, Q1 = 688.1377 ns, Median = 692.1852 ns, Q3 = 699.2884 ns, Max = 710.6164 ns
IQR = 11.1506 ns, LowerFence = 671.4118 ns, UpperFence = 716.0143 ns
ConfidenceInterval = [686.3213 ns; 701.6815 ns] (CI 99.9%), Margin = 7.6801 ns (1.11% of Mean)
Skewness = 0.89, Kurtosis = 2.97, MValue = 2
// **************************
// Benchmark: Program.DeserializeTest_NewEmbeddedFormatter: Job-ITDJDY(Runtime=.NET Core 3.1) [ConstantString=shorter]
// *** Execute ***
// Launch: 1 / 1
// Execute: dotnet "ab6d9d6e-30fe-4ed5-8680-16062df01f2d.dll" --benchmarkName "test.Program.DeserializeTest_NewEmbeddedFormatter(ConstantString: "shorter")" --job "Runtime=.NET Core 3.1" --benchmarkId 4 in C:\Users\conve\source\repos\test\test\bin\Release\netcoreapp3.1\ab6d9d6e-30fe-4ed5-8680-16062df01f2d\bin\Release\netcoreapp3.1
// BeforeAnythingElse
// Benchmark Process Environment Information:
// Runtime=.NET Core 3.1.2 (CoreCLR 4.700.20.6602, CoreFX 4.700.20.6702), X64 RyuJIT
// GC=Concurrent Workstation
// Job: DefaultJob
OverheadJitting 1: 1 op, 266000.00 ns, 266.0000 us/op
WorkloadJitting 1: 1 op, 4735100.00 ns, 4.7351 ms/op
OverheadJitting 2: 16 op, 563700.00 ns, 35.2313 us/op
WorkloadJitting 2: 16 op, 656100.00 ns, 41.0063 us/op
WorkloadPilot 1: 16 op, 39400.00 ns, 2.4625 us/op
WorkloadPilot 2: 32 op, 87600.00 ns, 2.7375 us/op
WorkloadPilot 3: 64 op, 140800.00 ns, 2.2000 us/op
WorkloadPilot 4: 128 op, 278600.00 ns, 2.1766 us/op
WorkloadPilot 5: 256 op, 552000.00 ns, 2.1562 us/op
WorkloadPilot 6: 512 op, 1115600.00 ns, 2.1789 us/op
WorkloadPilot 7: 1024 op, 2418800.00 ns, 2.3621 us/op
WorkloadPilot 8: 2048 op, 4461700.00 ns, 2.1786 us/op
WorkloadPilot 9: 4096 op, 12452800.00 ns, 3.0402 us/op
WorkloadPilot 10: 8192 op, 18138600.00 ns, 2.2142 us/op
WorkloadPilot 11: 16384 op, 35815300.00 ns, 2.1860 us/op
WorkloadPilot 12: 32768 op, 72649800.00 ns, 2.2171 us/op
WorkloadPilot 13: 65536 op, 142015100.00 ns, 2.1670 us/op
WorkloadPilot 14: 131072 op, 75453800.00 ns, 575.6668 ns/op
WorkloadPilot 15: 262144 op, 128884000.00 ns, 491.6534 ns/op
WorkloadPilot 16: 524288 op, 255572100.00 ns, 487.4651 ns/op
WorkloadPilot 17: 1048576 op, 520306100.00 ns, 496.2026 ns/op
OverheadWarmup 1: 1048576 op, 3891200.00 ns, 3.7109 ns/op
OverheadWarmup 2: 1048576 op, 3855400.00 ns, 3.6768 ns/op
OverheadWarmup 3: 1048576 op, 3975700.00 ns, 3.7915 ns/op
OverheadWarmup 4: 1048576 op, 3915100.00 ns, 3.7337 ns/op
OverheadWarmup 5: 1048576 op, 3834600.00 ns, 3.6570 ns/op
OverheadWarmup 6: 1048576 op, 4000000.00 ns, 3.8147 ns/op
OverheadWarmup 7: 1048576 op, 3846100.00 ns, 3.6679 ns/op
OverheadActual 1: 1048576 op, 3995600.00 ns, 3.8105 ns/op
OverheadActual 2: 1048576 op, 3846500.00 ns, 3.6683 ns/op
OverheadActual 3: 1048576 op, 3887400.00 ns, 3.7073 ns/op
OverheadActual 4: 1048576 op, 3886000.00 ns, 3.7060 ns/op
OverheadActual 5: 1048576 op, 3999100.00 ns, 3.8138 ns/op
OverheadActual 6: 1048576 op, 3886100.00 ns, 3.7061 ns/op
OverheadActual 7: 1048576 op, 3841200.00 ns, 3.6633 ns/op
OverheadActual 8: 1048576 op, 3838000.00 ns, 3.6602 ns/op
OverheadActual 9: 1048576 op, 3890600.00 ns, 3.7104 ns/op
OverheadActual 10: 1048576 op, 3876100.00 ns, 3.6965 ns/op
OverheadActual 11: 1048576 op, 3951000.00 ns, 3.7680 ns/op
OverheadActual 12: 1048576 op, 3914400.00 ns, 3.7331 ns/op
OverheadActual 13: 1048576 op, 3947700.00 ns, 3.7648 ns/op
OverheadActual 14: 1048576 op, 3926100.00 ns, 3.7442 ns/op
OverheadActual 15: 1048576 op, 3934300.00 ns, 3.7520 ns/op
WorkloadWarmup 1: 1048576 op, 516411600.00 ns, 492.4885 ns/op
WorkloadWarmup 2: 1048576 op, 510983300.00 ns, 487.3116 ns/op
WorkloadWarmup 3: 1048576 op, 511041300.00 ns, 487.3670 ns/op
WorkloadWarmup 4: 1048576 op, 512973200.00 ns, 489.2094 ns/op
WorkloadWarmup 5: 1048576 op, 517406800.00 ns, 493.4376 ns/op
WorkloadWarmup 6: 1048576 op, 522494300.00 ns, 498.2894 ns/op
WorkloadWarmup 7: 1048576 op, 510864500.00 ns, 487.1984 ns/op
WorkloadWarmup 8: 1048576 op, 510839200.00 ns, 487.1742 ns/op
WorkloadWarmup 9: 1048576 op, 510981900.00 ns, 487.3103 ns/op
WorkloadWarmup 10: 1048576 op, 509907400.00 ns, 486.2856 ns/op
// BeforeActualRun
WorkloadActual 1: 1048576 op, 564931500.00 ns, 538.7607 ns/op
WorkloadActual 2: 1048576 op, 570567000.00 ns, 544.1351 ns/op
WorkloadActual 3: 1048576 op, 576945600.00 ns, 550.2182 ns/op
WorkloadActual 4: 1048576 op, 568852700.00 ns, 542.5002 ns/op
WorkloadActual 5: 1048576 op, 564101300.00 ns, 537.9689 ns/op
WorkloadActual 6: 1048576 op, 564252700.00 ns, 538.1133 ns/op
WorkloadActual 7: 1048576 op, 566679100.00 ns, 540.4273 ns/op
WorkloadActual 8: 1048576 op, 567101700.00 ns, 540.8303 ns/op
WorkloadActual 9: 1048576 op, 566678700.00 ns, 540.4269 ns/op
WorkloadActual 10: 1048576 op, 566250900.00 ns, 540.0189 ns/op
WorkloadActual 11: 1048576 op, 571830200.00 ns, 545.3398 ns/op
WorkloadActual 12: 1048576 op, 569389700.00 ns, 543.0123 ns/op
WorkloadActual 13: 1048576 op, 566497600.00 ns, 540.2542 ns/op
WorkloadActual 14: 1048576 op, 566138600.00 ns, 539.9118 ns/op
WorkloadActual 15: 1048576 op, 566856100.00 ns, 540.5961 ns/op
// AfterActualRun
WorkloadResult 1: 1048576 op, 561040900.00 ns, 535.0503 ns/op
WorkloadResult 2: 1048576 op, 566676400.00 ns, 540.4247 ns/op
WorkloadResult 3: 1048576 op, 564962100.00 ns, 538.7898 ns/op
WorkloadResult 4: 1048576 op, 560210700.00 ns, 534.2586 ns/op
WorkloadResult 5: 1048576 op, 560362100.00 ns, 534.4029 ns/op
WorkloadResult 6: 1048576 op, 562788500.00 ns, 536.7169 ns/op
WorkloadResult 7: 1048576 op, 563211100.00 ns, 537.1200 ns/op
WorkloadResult 8: 1048576 op, 562788100.00 ns, 536.7166 ns/op
WorkloadResult 9: 1048576 op, 562360300.00 ns, 536.3086 ns/op
WorkloadResult 10: 1048576 op, 567939600.00 ns, 541.6294 ns/op
WorkloadResult 11: 1048576 op, 565499100.00 ns, 539.3020 ns/op
WorkloadResult 12: 1048576 op, 562607000.00 ns, 536.5438 ns/op
WorkloadResult 13: 1048576 op, 562248000.00 ns, 536.2015 ns/op
WorkloadResult 14: 1048576 op, 562965500.00 ns, 536.8857 ns/op
// AfterAll
// Benchmark Process 85296 has exited with code 0
Mean = 537.1679 ns, StdErr = 0.5782 ns (0.11%); N = 14, StdDev = 2.1634 ns
Min = 534.2586 ns, Q1 = 536.2015 ns, Median = 536.7167 ns, Q3 = 538.7898 ns, Max = 541.6294 ns
IQR = 2.5884 ns, LowerFence = 532.3189 ns, UpperFence = 542.6724 ns
ConfidenceInterval = [534.7275 ns; 539.6083 ns] (CI 99.9%), Margin = 2.4404 ns (0.45% of Mean)
Skewness = 0.57, Kurtosis = 2.24, MValue = 2
// **************************
// Benchmark: Program.DeserializeTest2_OriginalGeneratedFormatter: Job-ITDJDY(Runtime=.NET Core 3.1) [ConstantString=shorter]
// *** Execute ***
// Launch: 1 / 1
// Execute: dotnet "ab6d9d6e-30fe-4ed5-8680-16062df01f2d.dll" --benchmarkName "test.Program.DeserializeTest2_OriginalGeneratedFormatter(ConstantString: "shorter")" --job "Runtime=.NET Core 3.1" --benchmarkId 5 in C:\Users\conve\source\repos\test\test\bin\Release\netcoreapp3.1\ab6d9d6e-30fe-4ed5-8680-16062df01f2d\bin\Release\netcoreapp3.1
// BeforeAnythingElse
// Benchmark Process Environment Information:
// Runtime=.NET Core 3.1.2 (CoreCLR 4.700.20.6602, CoreFX 4.700.20.6702), X64 RyuJIT
// GC=Concurrent Workstation
// Job: DefaultJob
OverheadJitting 1: 1 op, 273300.00 ns, 273.3000 us/op
WorkloadJitting 1: 1 op, 4563800.00 ns, 4.5638 ms/op
OverheadJitting 2: 16 op, 604400.00 ns, 37.7750 us/op
WorkloadJitting 2: 16 op, 697700.00 ns, 43.6063 us/op
WorkloadPilot 1: 16 op, 62700.00 ns, 3.9188 us/op
WorkloadPilot 2: 32 op, 118500.00 ns, 3.7031 us/op
WorkloadPilot 3: 64 op, 233000.00 ns, 3.6406 us/op
WorkloadPilot 4: 128 op, 459100.00 ns, 3.5867 us/op
WorkloadPilot 5: 256 op, 878800.00 ns, 3.4328 us/op
WorkloadPilot 6: 512 op, 1817500.00 ns, 3.5498 us/op
WorkloadPilot 7: 1024 op, 3449200.00 ns, 3.3684 us/op
WorkloadPilot 8: 2048 op, 6920700.00 ns, 3.3792 us/op
WorkloadPilot 9: 4096 op, 13749100.00 ns, 3.3567 us/op
WorkloadPilot 10: 8192 op, 27530000.00 ns, 3.3606 us/op
WorkloadPilot 11: 16384 op, 54681600.00 ns, 3.3375 us/op
WorkloadPilot 12: 32768 op, 98699900.00 ns, 3.0121 us/op
WorkloadPilot 13: 65536 op, 55438300.00 ns, 845.9213 ns/op
WorkloadPilot 14: 131072 op, 110008300.00 ns, 839.2967 ns/op
WorkloadPilot 15: 262144 op, 193850200.00 ns, 739.4798 ns/op
WorkloadPilot 16: 524288 op, 364251900.00 ns, 694.7554 ns/op
WorkloadPilot 17: 1048576 op, 731822100.00 ns, 697.9199 ns/op
OverheadWarmup 1: 1048576 op, 4053300.00 ns, 3.8655 ns/op
OverheadWarmup 2: 1048576 op, 3921000.00 ns, 3.7394 ns/op
OverheadWarmup 3: 1048576 op, 4044000.00 ns, 3.8567 ns/op
OverheadWarmup 4: 1048576 op, 3962700.00 ns, 3.7791 ns/op
OverheadWarmup 5: 1048576 op, 4088100.00 ns, 3.8987 ns/op
OverheadWarmup 6: 1048576 op, 3958800.00 ns, 3.7754 ns/op
OverheadActual 1: 1048576 op, 3983100.00 ns, 3.7986 ns/op
OverheadActual 2: 1048576 op, 3929400.00 ns, 3.7474 ns/op
OverheadActual 3: 1048576 op, 3988400.00 ns, 3.8036 ns/op
OverheadActual 4: 1048576 op, 3990200.00 ns, 3.8054 ns/op
OverheadActual 5: 1048576 op, 3964800.00 ns, 3.7811 ns/op
OverheadActual 6: 1048576 op, 3915700.00 ns, 3.7343 ns/op
OverheadActual 7: 1048576 op, 3973000.00 ns, 3.7889 ns/op
OverheadActual 8: 1048576 op, 4099400.00 ns, 3.9095 ns/op
OverheadActual 9: 1048576 op, 4042800.00 ns, 3.8555 ns/op
OverheadActual 10: 1048576 op, 3925200.00 ns, 3.7434 ns/op
OverheadActual 11: 1048576 op, 4272200.00 ns, 4.0743 ns/op
OverheadActual 12: 1048576 op, 3993100.00 ns, 3.8081 ns/op
OverheadActual 13: 1048576 op, 4055500.00 ns, 3.8676 ns/op
OverheadActual 14: 1048576 op, 4033600.00 ns, 3.8467 ns/op
OverheadActual 15: 1048576 op, 4024800.00 ns, 3.8383 ns/op
WorkloadWarmup 1: 1048576 op, 731969000.00 ns, 698.0600 ns/op
WorkloadWarmup 2: 1048576 op, 726344600.00 ns, 692.6962 ns/op
WorkloadWarmup 3: 1048576 op, 739378600.00 ns, 705.1264 ns/op
WorkloadWarmup 4: 1048576 op, 736951100.00 ns, 702.8113 ns/op
WorkloadWarmup 5: 1048576 op, 728597200.00 ns, 694.8444 ns/op
WorkloadWarmup 6: 1048576 op, 733363600.00 ns, 699.3900 ns/op
WorkloadWarmup 7: 1048576 op, 742283600.00 ns, 707.8968 ns/op
WorkloadWarmup 8: 1048576 op, 739380500.00 ns, 705.1282 ns/op
// BeforeActualRun
WorkloadActual 1: 1048576 op, 755508300.00 ns, 720.5089 ns/op
WorkloadActual 2: 1048576 op, 749282000.00 ns, 714.5710 ns/op
WorkloadActual 3: 1048576 op, 765919700.00 ns, 730.4379 ns/op
WorkloadActual 4: 1048576 op, 765944100.00 ns, 730.4612 ns/op
WorkloadActual 5: 1048576 op, 745354500.00 ns, 710.8254 ns/op
WorkloadActual 6: 1048576 op, 744684100.00 ns, 710.1861 ns/op
WorkloadActual 7: 1048576 op, 745428900.00 ns, 710.8964 ns/op
WorkloadActual 8: 1048576 op, 744690900.00 ns, 710.1926 ns/op
WorkloadActual 9: 1048576 op, 748861400.00 ns, 714.1699 ns/op
WorkloadActual 10: 1048576 op, 757176400.00 ns, 722.0997 ns/op
WorkloadActual 11: 1048576 op, 745105400.00 ns, 710.5879 ns/op
WorkloadActual 12: 1048576 op, 845221000.00 ns, 806.0656 ns/op
WorkloadActual 13: 1048576 op, 1037375900.00 ns, 989.3188 ns/op
WorkloadActual 14: 1048576 op, 756023200.00 ns, 720.9999 ns/op
WorkloadActual 15: 1048576 op, 769067800.00 ns, 733.4402 ns/op
// AfterActualRun
WorkloadResult 1: 1048576 op, 751518100.00 ns, 716.7035 ns/op
WorkloadResult 2: 1048576 op, 745291800.00 ns, 710.7656 ns/op
WorkloadResult 3: 1048576 op, 761929500.00 ns, 726.6326 ns/op
WorkloadResult 4: 1048576 op, 761953900.00 ns, 726.6559 ns/op
WorkloadResult 5: 1048576 op, 741364300.00 ns, 707.0201 ns/op
WorkloadResult 6: 1048576 op, 740693900.00 ns, 706.3807 ns/op
WorkloadResult 7: 1048576 op, 741438700.00 ns, 707.0910 ns/op
WorkloadResult 8: 1048576 op, 740700700.00 ns, 706.3872 ns/op
WorkloadResult 9: 1048576 op, 744871200.00 ns, 710.3645 ns/op
WorkloadResult 10: 1048576 op, 753186200.00 ns, 718.2943 ns/op
WorkloadResult 11: 1048576 op, 741115200.00 ns, 706.7825 ns/op
WorkloadResult 12: 1048576 op, 752033000.00 ns, 717.1946 ns/op
WorkloadResult 13: 1048576 op, 765077600.00 ns, 729.6349 ns/op
// AfterAll
// Benchmark Process 87128 has exited with code 0
Mean = 714.6083 ns, StdErr = 2.3799 ns (0.33%); N = 13, StdDev = 8.5809 ns
Min = 706.3807 ns, Q1 = 706.9013 ns, Median = 710.7656 ns, Q3 = 722.4635 ns, Max = 729.6349 ns
IQR = 15.5622 ns, LowerFence = 683.5581 ns, UpperFence = 745.8067 ns
ConfidenceInterval = [704.3323 ns; 724.8842 ns] (CI 99.9%), Margin = 10.2759 ns (1.44% of Mean)
Skewness = 0.53, Kurtosis = 1.61, MValue = 2
// **************************
// Benchmark: Program.DeserializeTest_NewEmbeddedFormatter: Job-ITDJDY(Runtime=.NET Core 3.1) [ConstantString=このベンチ(...)おおおん! [62]]
// *** Execute ***
// Launch: 1 / 1
// Execute: dotnet "ab6d9d6e-30fe-4ed5-8680-16062df01f2d.dll" --benchmarkName "test.Program.DeserializeTest_NewEmbeddedFormatter(ConstantString: "このベンチマークを取るのにあたりネタに振れすぎず、良い感じに読んだ人を笑わせる文章を考えるのにぬわあああん疲れたもおおおん!")" --job "Runtime=.NET Core 3.1" --benchmarkId 6 in C:\Users\conve\source\repos\test\test\bin\Release\netcoreapp3.1\ab6d9d6e-30fe-4ed5-8680-16062df01f2d\bin\Release\netcoreapp3.1
// BeforeAnythingElse
// Benchmark Process Environment Information:
// Runtime=.NET Core 3.1.2 (CoreCLR 4.700.20.6602, CoreFX 4.700.20.6702), X64 RyuJIT
// GC=Concurrent Workstation
// Job: DefaultJob
OverheadJitting 1: 1 op, 272000.00 ns, 272.0000 us/op
WorkloadJitting 1: 1 op, 4968500.00 ns, 4.9685 ms/op
OverheadJitting 2: 16 op, 584700.00 ns, 36.5438 us/op
WorkloadJitting 2: 16 op, 692000.00 ns, 43.2500 us/op
WorkloadPilot 1: 16 op, 43400.00 ns, 2.7125 us/op
WorkloadPilot 2: 32 op, 84300.00 ns, 2.6344 us/op
WorkloadPilot 3: 64 op, 164300.00 ns, 2.5672 us/op
WorkloadPilot 4: 128 op, 322800.00 ns, 2.5219 us/op
WorkloadPilot 5: 256 op, 641400.00 ns, 2.5055 us/op
WorkloadPilot 6: 512 op, 1283200.00 ns, 2.5063 us/op
WorkloadPilot 7: 1024 op, 2519700.00 ns, 2.4606 us/op
WorkloadPilot 8: 2048 op, 5142100.00 ns, 2.5108 us/op
WorkloadPilot 9: 4096 op, 10139200.00 ns, 2.4754 us/op
WorkloadPilot 10: 8192 op, 20342600.00 ns, 2.4832 us/op
WorkloadPilot 11: 16384 op, 40403600.00 ns, 2.4660 us/op
WorkloadPilot 12: 32768 op, 80087200.00 ns, 2.4441 us/op
WorkloadPilot 13: 65536 op, 70589800.00 ns, 1.0771 us/op
WorkloadPilot 14: 131072 op, 90715300.00 ns, 692.1028 ns/op
WorkloadPilot 15: 262144 op, 178012900.00 ns, 679.0653 ns/op
WorkloadPilot 16: 524288 op, 358530100.00 ns, 683.8419 ns/op
WorkloadPilot 17: 1048576 op, 707953800.00 ns, 675.1574 ns/op
OverheadWarmup 1: 1048576 op, 3881800.00 ns, 3.7020 ns/op
OverheadWarmup 2: 1048576 op, 3929200.00 ns, 3.7472 ns/op
OverheadWarmup 3: 1048576 op, 3923600.00 ns, 3.7418 ns/op
OverheadWarmup 4: 1048576 op, 3901900.00 ns, 3.7211 ns/op
OverheadWarmup 5: 1048576 op, 3862500.00 ns, 3.6836 ns/op
OverheadWarmup 6: 1048576 op, 3913500.00 ns, 3.7322 ns/op
OverheadWarmup 7: 1048576 op, 4025300.00 ns, 3.8388 ns/op
OverheadWarmup 8: 1048576 op, 3900300.00 ns, 3.7196 ns/op
OverheadActual 1: 1048576 op, 3914200.00 ns, 3.7329 ns/op
OverheadActual 2: 1048576 op, 3900700.00 ns, 3.7200 ns/op
OverheadActual 3: 1048576 op, 3864400.00 ns, 3.6854 ns/op
OverheadActual 4: 1048576 op, 4149700.00 ns, 3.9575 ns/op
OverheadActual 5: 1048576 op, 3867300.00 ns, 3.6881 ns/op
OverheadActual 6: 1048576 op, 3896800.00 ns, 3.7163 ns/op
OverheadActual 7: 1048576 op, 3918000.00 ns, 3.7365 ns/op
OverheadActual 8: 1048576 op, 3971500.00 ns, 3.7875 ns/op
OverheadActual 9: 1048576 op, 3874500.00 ns, 3.6950 ns/op
OverheadActual 10: 1048576 op, 3909000.00 ns, 3.7279 ns/op
OverheadActual 11: 1048576 op, 3947400.00 ns, 3.7645 ns/op
OverheadActual 12: 1048576 op, 3853500.00 ns, 3.6750 ns/op
OverheadActual 13: 1048576 op, 3923500.00 ns, 3.7417 ns/op
OverheadActual 14: 1048576 op, 3903000.00 ns, 3.7222 ns/op
OverheadActual 15: 1048576 op, 3903400.00 ns, 3.7226 ns/op
WorkloadWarmup 1: 1048576 op, 761523300.00 ns, 726.2452 ns/op
WorkloadWarmup 2: 1048576 op, 762591200.00 ns, 727.2636 ns/op
WorkloadWarmup 3: 1048576 op, 773053200.00 ns, 737.2410 ns/op
WorkloadWarmup 4: 1048576 op, 755762700.00 ns, 720.7515 ns/op
WorkloadWarmup 5: 1048576 op, 754051100.00 ns, 719.1192 ns/op
WorkloadWarmup 6: 1048576 op, 757790500.00 ns, 722.6853 ns/op
WorkloadWarmup 7: 1048576 op, 752852600.00 ns, 717.9762 ns/op
// BeforeActualRun
WorkloadActual 1: 1048576 op, 712590200.00 ns, 679.5790 ns/op
WorkloadActual 2: 1048576 op, 720385800.00 ns, 687.0134 ns/op
WorkloadActual 3: 1048576 op, 705958200.00 ns, 673.2542 ns/op
WorkloadActual 4: 1048576 op, 706301500.00 ns, 673.5816 ns/op
WorkloadActual 5: 1048576 op, 706821200.00 ns, 674.0772 ns/op
WorkloadActual 6: 1048576 op, 707613100.00 ns, 674.8324 ns/op
WorkloadActual 7: 1048576 op, 711156700.00 ns, 678.2119 ns/op
WorkloadActual 8: 1048576 op, 716397500.00 ns, 683.2099 ns/op
WorkloadActual 9: 1048576 op, 713932800.00 ns, 680.8594 ns/op
WorkloadActual 10: 1048576 op, 727783100.00 ns, 694.0681 ns/op
WorkloadActual 11: 1048576 op, 714591000.00 ns, 681.4871 ns/op
WorkloadActual 12: 1048576 op, 717741600.00 ns, 684.4917 ns/op
WorkloadActual 13: 1048576 op, 707142000.00 ns, 674.3832 ns/op
WorkloadActual 14: 1048576 op, 708016900.00 ns, 675.2175 ns/op
WorkloadActual 15: 1048576 op, 707475100.00 ns, 674.7008 ns/op
// AfterActualRun
WorkloadResult 1: 1048576 op, 708686800.00 ns, 675.8564 ns/op
WorkloadResult 2: 1048576 op, 716482400.00 ns, 683.2909 ns/op
WorkloadResult 3: 1048576 op, 702054800.00 ns, 669.5316 ns/op
WorkloadResult 4: 1048576 op, 702398100.00 ns, 669.8590 ns/op
WorkloadResult 5: 1048576 op, 702917800.00 ns, 670.3547 ns/op
WorkloadResult 6: 1048576 op, 703709700.00 ns, 671.1099 ns/op
WorkloadResult 7: 1048576 op, 707253300.00 ns, 674.4893 ns/op
WorkloadResult 8: 1048576 op, 712494100.00 ns, 679.4873 ns/op
WorkloadResult 9: 1048576 op, 710029400.00 ns, 677.1368 ns/op
WorkloadResult 10: 1048576 op, 723879700.00 ns, 690.3455 ns/op
WorkloadResult 11: 1048576 op, 710687600.00 ns, 677.7645 ns/op
WorkloadResult 12: 1048576 op, 713838200.00 ns, 680.7692 ns/op
WorkloadResult 13: 1048576 op, 703238600.00 ns, 670.6606 ns/op
WorkloadResult 14: 1048576 op, 704113500.00 ns, 671.4950 ns/op
WorkloadResult 15: 1048576 op, 703571700.00 ns, 670.9783 ns/op
// AfterAll
// Benchmark Process 94652 has exited with code 0
Mean = 675.5419 ns, StdErr = 1.5535 ns (0.23%); N = 15, StdDev = 6.0165 ns
Min = 669.5316 ns, Q1 = 670.6606 ns, Median = 674.4893 ns, Q3 = 679.4873 ns, Max = 690.3455 ns
IQR = 8.8267 ns, LowerFence = 657.4205 ns, UpperFence = 692.7274 ns
ConfidenceInterval = [669.1099 ns; 681.9739 ns] (CI 99.9%), Margin = 6.4320 ns (0.95% of Mean)
Skewness = 0.93, Kurtosis = 2.92, MValue = 2
// **************************
// Benchmark: Program.DeserializeTest2_OriginalGeneratedFormatter: Job-ITDJDY(Runtime=.NET Core 3.1) [ConstantString=このベンチ(...)おおおん! [62]]
// *** Execute ***
// Launch: 1 / 1
// Execute: dotnet "ab6d9d6e-30fe-4ed5-8680-16062df01f2d.dll" --benchmarkName "test.Program.DeserializeTest2_OriginalGeneratedFormatter(ConstantString: "このベンチマークを取るのにあたりネタに振れすぎず、良い感じに読んだ人を笑わせる文章を考えるのにぬわあああん疲れたもおおおん!")" --job "Runtime=.NET Core 3.1" --benchmarkId 7 in C:\Users\conve\source\repos\test\test\bin\Release\netcoreapp3.1\ab6d9d6e-30fe-4ed5-8680-16062df01f2d\bin\Release\netcoreapp3.1
// BeforeAnythingElse
// Benchmark Process Environment Information:
// Runtime=.NET Core 3.1.2 (CoreCLR 4.700.20.6602, CoreFX 4.700.20.6702), X64 RyuJIT
// GC=Concurrent Workstation
// Job: DefaultJob
OverheadJitting 1: 1 op, 261800.00 ns, 261.8000 us/op
WorkloadJitting 1: 1 op, 4672400.00 ns, 4.6724 ms/op
OverheadJitting 2: 16 op, 654500.00 ns, 40.9062 us/op
WorkloadJitting 2: 16 op, 683500.00 ns, 42.7188 us/op
WorkloadPilot 1: 16 op, 63000.00 ns, 3.9375 us/op
WorkloadPilot 2: 32 op, 132900.00 ns, 4.1531 us/op
WorkloadPilot 3: 64 op, 233200.00 ns, 3.6437 us/op
WorkloadPilot 4: 128 op, 461800.00 ns, 3.6078 us/op
WorkloadPilot 5: 256 op, 941700.00 ns, 3.6785 us/op
WorkloadPilot 6: 512 op, 2123400.00 ns, 4.1473 us/op
WorkloadPilot 7: 1024 op, 3779700.00 ns, 3.6911 us/op
WorkloadPilot 8: 2048 op, 7756000.00 ns, 3.7871 us/op
WorkloadPilot 9: 4096 op, 15400100.00 ns, 3.7598 us/op
WorkloadPilot 10: 8192 op, 29857200.00 ns, 3.6447 us/op
WorkloadPilot 11: 16384 op, 60294800.00 ns, 3.6801 us/op
WorkloadPilot 12: 32768 op, 83323100.00 ns, 2.5428 us/op
WorkloadPilot 13: 65536 op, 76061800.00 ns, 1.1606 us/op
WorkloadPilot 14: 131072 op, 126744200.00 ns, 966.9815 ns/op
WorkloadPilot 15: 262144 op, 240750200.00 ns, 918.3891 ns/op
WorkloadPilot 16: 524288 op, 449940500.00 ns, 858.1934 ns/op
WorkloadPilot 17: 1048576 op, 897090800.00 ns, 855.5325 ns/op
OverheadWarmup 1: 1048576 op, 3857600.00 ns, 3.6789 ns/op
OverheadWarmup 2: 1048576 op, 3899000.00 ns, 3.7184 ns/op
OverheadWarmup 3: 1048576 op, 3861300.00 ns, 3.6824 ns/op
OverheadWarmup 4: 1048576 op, 3854500.00 ns, 3.6759 ns/op
OverheadWarmup 5: 1048576 op, 3929100.00 ns, 3.7471 ns/op
OverheadWarmup 6: 1048576 op, 3888200.00 ns, 3.7081 ns/op
OverheadActual 1: 1048576 op, 3940100.00 ns, 3.7576 ns/op
OverheadActual 2: 1048576 op, 3850200.00 ns, 3.6718 ns/op
OverheadActual 3: 1048576 op, 3902400.00 ns, 3.7216 ns/op
OverheadActual 4: 1048576 op, 3916900.00 ns, 3.7354 ns/op
OverheadActual 5: 1048576 op, 4535500.00 ns, 4.3254 ns/op
OverheadActual 6: 1048576 op, 3856900.00 ns, 3.6782 ns/op
OverheadActual 7: 1048576 op, 3858500.00 ns, 3.6798 ns/op
OverheadActual 8: 1048576 op, 3857400.00 ns, 3.6787 ns/op
OverheadActual 9: 1048576 op, 3899800.00 ns, 3.7191 ns/op
OverheadActual 10: 1048576 op, 3995800.00 ns, 3.8107 ns/op
OverheadActual 11: 1048576 op, 3907500.00 ns, 3.7265 ns/op
OverheadActual 12: 1048576 op, 3895200.00 ns, 3.7148 ns/op
OverheadActual 13: 1048576 op, 3854700.00 ns, 3.6761 ns/op
OverheadActual 14: 1048576 op, 3942500.00 ns, 3.7599 ns/op
OverheadActual 15: 1048576 op, 3928200.00 ns, 3.7462 ns/op
WorkloadWarmup 1: 1048576 op, 900559800.00 ns, 858.8408 ns/op
WorkloadWarmup 2: 1048576 op, 913384900.00 ns, 871.0717 ns/op
WorkloadWarmup 3: 1048576 op, 924753000.00 ns, 881.9132 ns/op
WorkloadWarmup 4: 1048576 op, 905595800.00 ns, 863.6435 ns/op
WorkloadWarmup 5: 1048576 op, 912326200.00 ns, 870.0621 ns/op
WorkloadWarmup 6: 1048576 op, 914474700.00 ns, 872.1110 ns/op
WorkloadWarmup 7: 1048576 op, 921876900.00 ns, 879.1703 ns/op
WorkloadWarmup 8: 1048576 op, 926775800.00 ns, 883.8423 ns/op
WorkloadWarmup 9: 1048576 op, 923901600.00 ns, 881.1012 ns/op
// BeforeActualRun
WorkloadActual 1: 1048576 op, 912536800.00 ns, 870.2629 ns/op
WorkloadActual 2: 1048576 op, 909312800.00 ns, 867.1883 ns/op
WorkloadActual 3: 1048576 op, 908322300.00 ns, 866.2436 ns/op
WorkloadActual 4: 1048576 op, 920161800.00 ns, 877.5347 ns/op
WorkloadActual 5: 1048576 op, 911565600.00 ns, 869.3367 ns/op
WorkloadActual 6: 1048576 op, 932090700.00 ns, 888.9110 ns/op
WorkloadActual 7: 1048576 op, 1106885900.00 ns, 1.0556 us/op
WorkloadActual 8: 1048576 op, 917147400.00 ns, 874.6599 ns/op
WorkloadActual 9: 1048576 op, 1200056400.00 ns, 1.1445 us/op
WorkloadActual 10: 1048576 op, 924377100.00 ns, 881.5547 ns/op
WorkloadActual 11: 1048576 op, 924411500.00 ns, 881.5875 ns/op
WorkloadActual 12: 1048576 op, 1265247400.00 ns, 1.2066 us/op
WorkloadActual 13: 1048576 op, 918379500.00 ns, 875.8349 ns/op
WorkloadActual 14: 1048576 op, 912441100.00 ns, 870.1716 ns/op
WorkloadActual 15: 1048576 op, 925517500.00 ns, 882.6423 ns/op
// AfterActualRun
WorkloadResult 1: 1048576 op, 908634400.00 ns, 866.5413 ns/op
WorkloadResult 2: 1048576 op, 905410400.00 ns, 863.4666 ns/op
WorkloadResult 3: 1048576 op, 904419900.00 ns, 862.5220 ns/op
WorkloadResult 4: 1048576 op, 916259400.00 ns, 873.8131 ns/op
WorkloadResult 5: 1048576 op, 907663200.00 ns, 865.6151 ns/op
WorkloadResult 6: 1048576 op, 928188300.00 ns, 885.1893 ns/op
WorkloadResult 7: 1048576 op, 913245000.00 ns, 870.9383 ns/op
WorkloadResult 8: 1048576 op, 920474700.00 ns, 877.8331 ns/op
WorkloadResult 9: 1048576 op, 920509100.00 ns, 877.8659 ns/op
WorkloadResult 10: 1048576 op, 914477100.00 ns, 872.1133 ns/op
WorkloadResult 11: 1048576 op, 908538700.00 ns, 866.4500 ns/op
WorkloadResult 12: 1048576 op, 921615100.00 ns, 878.9207 ns/op
// AfterAll
// Benchmark Process 90576 has exited with code 0
Mean = 871.7724 ns, StdErr = 2.0562 ns (0.24%); N = 12, StdDev = 7.1230 ns
Min = 862.5220 ns, Q1 = 866.0326 ns, Median = 871.5258 ns, Q3 = 877.8495 ns, Max = 885.1893 ns
IQR = 11.8169 ns, LowerFence = 848.3072 ns, UpperFence = 895.5749 ns
ConfidenceInterval = [862.6489 ns; 880.8959 ns] (CI 99.9%), Margin = 9.1235 ns (1.05% of Mean)
Skewness = 0.31, Kurtosis = 1.71, MValue = 2
// ***** BenchmarkRunner: Finish *****
// * Export *
BenchmarkDotNet.Artifacts\results\test.Program-report.csv
BenchmarkDotNet.Artifacts\results\test.Program-report-github.md
BenchmarkDotNet.Artifacts\results\test.Program-report.html
BenchmarkDotNet.Artifacts\results\test.Program-measurements.csv
BuildPlots.R
RPlotExporter couldn't find Rscript.exe in your PATH and no R_HOME environment variable is defined
// * Detailed results *
Program.DeserializeTest_NewEmbeddedFormatter: Job-ITDJDY(Runtime=.NET Core 3.1) [ConstantString=]
Runtime = .NET Core 3.1.2 (CoreCLR 4.700.20.6602, CoreFX 4.700.20.6702), X64 RyuJIT; GC = Concurrent Workstation
Mean = 508.5718 ns, StdErr = 2.5405 ns (0.50%); N = 17, StdDev = 10.4749 ns
Min = 486.2462 ns, Q1 = 498.6469 ns, Median = 509.6560 ns, Q3 = 518.9100 ns, Max = 521.0448 ns
IQR = 20.2631 ns, LowerFence = 468.2523 ns, UpperFence = 549.3046 ns
ConfidenceInterval = [498.3716 ns; 518.7720 ns] (CI 99.9%), Margin = 10.2002 ns (2.01% of Mean)
Skewness = -0.51, Kurtosis = 2, MValue = 2
-------------------- Histogram --------------------
[482.682 ns ; 493.257 ns) | @
[493.257 ns ; 505.585 ns) | @@@@@
[505.585 ns ; 524.610 ns) | @@@@@@@@@@@
---------------------------------------------------
Program.DeserializeTest2_OriginalGeneratedFormatter: Job-ITDJDY(Runtime=.NET Core 3.1) [ConstantString=]
Runtime = .NET Core 3.1.2 (CoreCLR 4.700.20.6602, CoreFX 4.700.20.6702), X64 RyuJIT; GC = Concurrent Workstation
Mean = 682.1470 ns, StdErr = 3.8948 ns (0.57%); N = 58, StdDev = 29.6622 ns
Min = 664.5194 ns, Q1 = 668.2052 ns, Median = 672.5424 ns, Q3 = 682.5130 ns, Max = 828.0513 ns
IQR = 14.3079 ns, LowerFence = 646.7433 ns, UpperFence = 703.9749 ns
ConfidenceInterval = [668.6336 ns; 695.6604 ns] (CI 99.9%), Margin = 13.5134 ns (1.98% of Mean)
Skewness = 3.37, Kurtosis = 14.94, MValue = 2
-------------------- Histogram --------------------
[663.672 ns ; 691.886 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[691.886 ns ; 708.401 ns) | @@
[708.401 ns ; 731.723 ns) | @
[731.723 ns ; 751.828 ns) |
[751.828 ns ; 767.016 ns) | @
[767.016 ns ; 789.481 ns) |
[789.481 ns ; 834.756 ns) | @@
---------------------------------------------------
Program.DeserializeTest_NewEmbeddedFormatter: Job-ITDJDY(Runtime=.NET Core 3.1) [ConstantString=a]
Runtime = .NET Core 3.1.2 (CoreCLR 4.700.20.6602, CoreFX 4.700.20.6702), X64 RyuJIT; GC = Concurrent Workstation
Mean = 489.2721 ns, StdErr = 1.5350 ns (0.31%); N = 15, StdDev = 5.9451 ns
Min = 481.8439 ns, Q1 = 485.9962 ns, Median = 488.5014 ns, Q3 = 492.7596 ns, Max = 500.1626 ns
IQR = 6.7634 ns, LowerFence = 475.8512 ns, UpperFence = 502.9047 ns
ConfidenceInterval = [482.9164 ns; 495.6278 ns] (CI 99.9%), Margin = 6.3557 ns (1.30% of Mean)
Skewness = 0.5, Kurtosis = 1.98, MValue = 2
-------------------- Histogram --------------------
[479.735 ns ; 502.272 ns) | @@@@@@@@@@@@@@@
---------------------------------------------------
Program.DeserializeTest2_OriginalGeneratedFormatter: Job-ITDJDY(Runtime=.NET Core 3.1) [ConstantString=a]
Runtime = .NET Core 3.1.2 (CoreCLR 4.700.20.6602, CoreFX 4.700.20.6702), X64 RyuJIT; GC = Concurrent Workstation
Mean = 694.0014 ns, StdErr = 1.8196 ns (0.26%); N = 14, StdDev = 6.8082 ns
Min = 685.7440 ns, Q1 = 688.1377 ns, Median = 692.1852 ns, Q3 = 699.2884 ns, Max = 710.6164 ns
IQR = 11.1506 ns, LowerFence = 671.4118 ns, UpperFence = 716.0143 ns
ConfidenceInterval = [686.3213 ns; 701.6815 ns] (CI 99.9%), Margin = 7.6801 ns (1.11% of Mean)
Skewness = 0.89, Kurtosis = 2.97, MValue = 2
-------------------- Histogram --------------------
[683.272 ns ; 697.159 ns) | @@@@@@@@@
[697.159 ns ; 713.088 ns) | @@@@@
---------------------------------------------------
Program.DeserializeTest_NewEmbeddedFormatter: Job-ITDJDY(Runtime=.NET Core 3.1) [ConstantString=shorter]
Runtime = .NET Core 3.1.2 (CoreCLR 4.700.20.6602, CoreFX 4.700.20.6702), X64 RyuJIT; GC = Concurrent Workstation
Mean = 537.1679 ns, StdErr = 0.5782 ns (0.11%); N = 14, StdDev = 2.1634 ns
Min = 534.2586 ns, Q1 = 536.2015 ns, Median = 536.7167 ns, Q3 = 538.7898 ns, Max = 541.6294 ns
IQR = 2.5884 ns, LowerFence = 532.3189 ns, UpperFence = 542.6724 ns
ConfidenceInterval = [534.7275 ns; 539.6083 ns] (CI 99.9%), Margin = 2.4404 ns (0.45% of Mean)
Skewness = 0.57, Kurtosis = 2.24, MValue = 2
-------------------- Histogram --------------------
[533.473 ns ; 542.415 ns) | @@@@@@@@@@@@@@
---------------------------------------------------
Program.DeserializeTest2_OriginalGeneratedFormatter: Job-ITDJDY(Runtime=.NET Core 3.1) [ConstantString=shorter]
Runtime = .NET Core 3.1.2 (CoreCLR 4.700.20.6602, CoreFX 4.700.20.6702), X64 RyuJIT; GC = Concurrent Workstation
Mean = 714.6083 ns, StdErr = 2.3799 ns (0.33%); N = 13, StdDev = 8.5809 ns
Min = 706.3807 ns, Q1 = 706.9013 ns, Median = 710.7656 ns, Q3 = 722.4635 ns, Max = 729.6349 ns
IQR = 15.5622 ns, LowerFence = 683.5581 ns, UpperFence = 745.8067 ns
ConfidenceInterval = [704.3323 ns; 724.8842 ns] (CI 99.9%), Margin = 10.2759 ns (1.44% of Mean)
Skewness = 0.53, Kurtosis = 1.61, MValue = 2
-------------------- Histogram --------------------
[703.188 ns ; 732.828 ns) | @@@@@@@@@@@@@
---------------------------------------------------
Program.DeserializeTest_NewEmbeddedFormatter: Job-ITDJDY(Runtime=.NET Core 3.1) [ConstantString=このベンチ(...)おおおん! [62]]
Runtime = .NET Core 3.1.2 (CoreCLR 4.700.20.6602, CoreFX 4.700.20.6702), X64 RyuJIT; GC = Concurrent Workstation
Mean = 675.5419 ns, StdErr = 1.5535 ns (0.23%); N = 15, StdDev = 6.0165 ns
Min = 669.5316 ns, Q1 = 670.6606 ns, Median = 674.4893 ns, Q3 = 679.4873 ns, Max = 690.3455 ns
IQR = 8.8267 ns, LowerFence = 657.4205 ns, UpperFence = 692.7274 ns
ConfidenceInterval = [669.1099 ns; 681.9739 ns] (CI 99.9%), Margin = 6.4320 ns (0.95% of Mean)
Skewness = 0.93, Kurtosis = 2.92, MValue = 2
-------------------- Histogram --------------------
[667.397 ns ; 692.480 ns) | @@@@@@@@@@@@@@@
---------------------------------------------------
Program.DeserializeTest2_OriginalGeneratedFormatter: Job-ITDJDY(Runtime=.NET Core 3.1) [ConstantString=このベンチ(...)おおおん! [62]]
Runtime = .NET Core 3.1.2 (CoreCLR 4.700.20.6602, CoreFX 4.700.20.6702), X64 RyuJIT; GC = Concurrent Workstation
Mean = 871.7724 ns, StdErr = 2.0562 ns (0.24%); N = 12, StdDev = 7.1230 ns
Min = 862.5220 ns, Q1 = 866.0326 ns, Median = 871.5258 ns, Q3 = 877.8495 ns, Max = 885.1893 ns
IQR = 11.8169 ns, LowerFence = 848.3072 ns, UpperFence = 895.5749 ns
ConfidenceInterval = [862.6489 ns; 880.8959 ns] (CI 99.9%), Margin = 9.1235 ns (1.05% of Mean)
Skewness = 0.31, Kurtosis = 1.71, MValue = 2
-------------------- Histogram --------------------
[859.800 ns ; 887.912 ns) | @@@@@@@@@@@@
---------------------------------------------------
// * Summary *
BenchmarkDotNet=v0.12.0, OS=Windows 10.0.18363
Intel Core i7-8750H CPU 2.20GHz (Coffee Lake), 1 CPU, 12 logical and 6 physical cores
.NET Core SDK=3.1.200
[Host] : .NET Core 3.1.2 (CoreCLR 4.700.20.6602, CoreFX 4.700.20.6702), X64 RyuJIT
Job-ITDJDY : .NET Core 3.1.2 (CoreCLR 4.700.20.6602, CoreFX 4.700.20.6702), X64 RyuJIT
Runtime=.NET Core 3.1
| Method | ConstantString | Mean | Error | StdDev |
|-------------------------------------------- |--------------------- |---------:|---------:|---------:|
| DeserializeTest_NewEmbeddedFormatter | | 508.6 ns | 10.20 ns | 10.47 ns |
| DeserializeTest2_OriginalGeneratedFormatter | | 682.1 ns | 13.51 ns | 29.66 ns |
| DeserializeTest_NewEmbeddedFormatter | a | 489.3 ns | 6.36 ns | 5.95 ns |
| DeserializeTest2_OriginalGeneratedFormatter | a | 694.0 ns | 7.68 ns | 6.81 ns |
| DeserializeTest_NewEmbeddedFormatter | shorter | 537.2 ns | 2.44 ns | 2.16 ns |
| DeserializeTest2_OriginalGeneratedFormatter | shorter | 714.6 ns | 10.28 ns | 8.58 ns |
| DeserializeTest_NewEmbeddedFormatter | このベンチ(...)おおおん! [62] | 675.5 ns | 6.43 ns | 6.02 ns |
| DeserializeTest2_OriginalGeneratedFormatter | このベンチ(...)おおおん! [62] | 871.8 ns | 9.12 ns | 7.12 ns |
// * Hints *
Outliers
Program.DeserializeTest2_OriginalGeneratedFormatter: Runtime=.NET Core 3.1 -> 15 outliers were removed (860.68 ns..990.04 ns)
Program.DeserializeTest2_OriginalGeneratedFormatter: Runtime=.NET Core 3.1 -> 1 outlier was removed (888.22 ns)
Program.DeserializeTest_NewEmbeddedFormatter: Runtime=.NET Core 3.1 -> 1 outlier was removed (550.22 ns)
Program.DeserializeTest2_OriginalGeneratedFormatter: Runtime=.NET Core 3.1 -> 2 outliers were removed (806.07 ns, 989.32 ns)
Program.DeserializeTest2_OriginalGeneratedFormatter: Runtime=.NET Core 3.1 -> 3 outliers were removed (1.06 us..1.21 us)
// * Legends *
ConstantString : Value of the 'ConstantString' parameter
Mean : Arithmetic mean of all measurements
Error : Half of 99.9% confidence interval
StdDev : Standard deviation of all measurements
1 ns : 1 Nanosecond (0.000000001 sec)
// ***** BenchmarkRunner: End *****
// ** Remained 0 benchmark(s) to run **
Run time: 00:03:09 (189.19 sec), executed benchmarks: 8
Global total time: 00:03:13 (193.01 sec), executed benchmarks: 8
// * Artifacts cleanup *
// <auto-generated>
// THIS (.cs) FILE IS GENERATED BY MPC(MessagePack-CSharp). DO NOT CHANGE IT.
// </auto-generated>
#pragma warning disable 618
#pragma warning disable 612
#pragma warning disable 414
#pragma warning disable 168
#pragma warning disable SA1200 // Using directives should be placed correctly
#pragma warning disable SA1312 // Variable names should begin with lower-case letter
#pragma warning disable SA1649 // File name should match first type name
namespace MessagePack.Resolvers
{
using System;
public class GeneratedResolver : global::MessagePack.IFormatterResolver
{
public static readonly global::MessagePack.IFormatterResolver Instance = new GeneratedResolver();
private GeneratedResolver()
{
}
public global::MessagePack.Formatters.IMessagePackFormatter<T> GetFormatter<T>()
{
return FormatterCache<T>.Formatter;
}
private static class FormatterCache<T>
{
internal static readonly global::MessagePack.Formatters.IMessagePackFormatter<T> Formatter;
static FormatterCache()
{
var f = GeneratedResolverGetFormatterHelper.GetFormatter(typeof(T));
if (f != null)
{
Formatter = (global::MessagePack.Formatters.IMessagePackFormatter<T>)f;
}
}
}
}
internal static class GeneratedResolverGetFormatterHelper
{
private static readonly global::System.Collections.Generic.Dictionary<Type, int> lookup;
static GeneratedResolverGetFormatterHelper()
{
lookup = new global::System.Collections.Generic.Dictionary<Type, int>(2)
{
{ typeof(global::TestType), 0 },
{ typeof(global::TestType2), 1 },
};
}
internal static object GetFormatter(Type t)
{
int key;
if (!lookup.TryGetValue(t, out key))
{
return null;
}
switch (key)
{
case 0: return new MessagePack.Formatters.TestTypeFormatter();
case 1: return new MessagePack.Formatters.TestType2Formatter();
default: return null;
}
}
}
}
#pragma warning restore 168
#pragma warning restore 414
#pragma warning restore 618
#pragma warning restore 612
#pragma warning restore SA1312 // Variable names should begin with lower-case letter
#pragma warning restore SA1200 // Using directives should be placed correctly
#pragma warning restore SA1649 // File name should match first type name
// <auto-generated>
// THIS (.cs) FILE IS GENERATED BY MPC(MessagePack-CSharp). DO NOT CHANGE IT.
// </auto-generated>
#pragma warning disable 618
#pragma warning disable 612
#pragma warning disable 414
#pragma warning disable 168
#pragma warning disable SA1129 // Do not use default value type constructor
#pragma warning disable SA1200 // Using directives should be placed correctly
#pragma warning disable SA1309 // Field names should not begin with underscore
#pragma warning disable SA1312 // Variable names should begin with lower-case letter
#pragma warning disable SA1403 // File may only contain a single namespace
#pragma warning disable SA1649 // File name should match first type name
namespace MessagePack.Formatters
{
using System;
using System.Buffers;
using MessagePack;
public sealed class TestType2Formatter : global::MessagePack.Formatters.IMessagePackFormatter<global::TestType2>
{
private readonly global::MessagePack.Internal.AutomataDictionary ____keyMapping;
private readonly byte[][] ____stringByteKeys;
public TestType2Formatter()
{
this.____keyMapping = new global::MessagePack.Internal.AutomataDictionary()
{
{ "Value", 0 },
{ "Value0", 1 },
{ "Value1", 2 },
{ "Value2", 3 },
{ "EightSensesFifth0", 4 },
{ "EightSensesFifth1", 5 },
{ "EightSensesFifth2", 6 },
{ "EightSensesFifth3", 7 },
{ "EightSensesFifth4", 8 },
{ "_0123456_0123456", 9 },
};
this.____stringByteKeys = new byte[][]
{
global::MessagePack.Internal.CodeGenHelpers.GetEncodedStringBytes("Value"),
global::MessagePack.Internal.CodeGenHelpers.GetEncodedStringBytes("Value0"),
global::MessagePack.Internal.CodeGenHelpers.GetEncodedStringBytes("Value1"),
global::MessagePack.Internal.CodeGenHelpers.GetEncodedStringBytes("Value2"),
global::MessagePack.Internal.CodeGenHelpers.GetEncodedStringBytes("EightSensesFifth0"),
global::MessagePack.Internal.CodeGenHelpers.GetEncodedStringBytes("EightSensesFifth1"),
global::MessagePack.Internal.CodeGenHelpers.GetEncodedStringBytes("EightSensesFifth2"),
global::MessagePack.Internal.CodeGenHelpers.GetEncodedStringBytes("EightSensesFifth3"),
global::MessagePack.Internal.CodeGenHelpers.GetEncodedStringBytes("EightSensesFifth4"),
global::MessagePack.Internal.CodeGenHelpers.GetEncodedStringBytes("_0123456_0123456"),
};
}
public void Serialize(ref MessagePackWriter writer, global::TestType2 value, global::MessagePack.MessagePackSerializerOptions options)
{
if (value == null)
{
writer.WriteNil();
return;
}
IFormatterResolver formatterResolver = options.Resolver;
writer.WriteMapHeader(10);
writer.WriteRaw(this.____stringByteKeys[0]);
writer.Write(value.Value);
writer.WriteRaw(this.____stringByteKeys[1]);
writer.Write(value.Value0);
writer.WriteRaw(this.____stringByteKeys[2]);
writer.Write(value.Value1);
writer.WriteRaw(this.____stringByteKeys[3]);
writer.Write(value.Value2);
writer.WriteRaw(this.____stringByteKeys[4]);
writer.Write(value.EightSensesFifth0);
writer.WriteRaw(this.____stringByteKeys[5]);
writer.Write(value.EightSensesFifth1);
writer.WriteRaw(this.____stringByteKeys[6]);
writer.Write(value.EightSensesFifth2);
writer.WriteRaw(this.____stringByteKeys[7]);
writer.Write(value.EightSensesFifth3);
writer.WriteRaw(this.____stringByteKeys[8]);
writer.Write(value.EightSensesFifth4);
writer.WriteRaw(this.____stringByteKeys[9]);
formatterResolver.GetFormatterWithVerify<string>().Serialize(ref writer, value._0123456_0123456, options);
}
public global::TestType2 Deserialize(ref MessagePackReader reader, global::MessagePack.MessagePackSerializerOptions options)
{
if (reader.TryReadNil())
{
return null;
}
options.Security.DepthStep(ref reader);
IFormatterResolver formatterResolver = options.Resolver;
var length = reader.ReadMapHeader();
var __Value__ = default(int);
var __Value0__ = default(int);
var __Value1__ = default(int);
var __Value2__ = default(int);
var __EightSensesFifth0__ = default(int);
var __EightSensesFifth1__ = default(int);
var __EightSensesFifth2__ = default(int);
var __EightSensesFifth3__ = default(int);
var __EightSensesFifth4__ = default(int);
var ___0123456_0123456__ = default(string);
for (int i = 0; i < length; i++)
{
ReadOnlySpan<byte> stringKey = global::MessagePack.Internal.CodeGenHelpers.ReadStringSpan(ref reader);
int key;
if (!this.____keyMapping.TryGetValue(stringKey, out key))
{
reader.Skip();
continue;
}
switch (key)
{
case 0:
__Value__ = reader.ReadInt32();
break;
case 1:
__Value0__ = reader.ReadInt32();
break;
case 2:
__Value1__ = reader.ReadInt32();
break;
case 3:
__Value2__ = reader.ReadInt32();
break;
case 4:
__EightSensesFifth0__ = reader.ReadInt32();
break;
case 5:
__EightSensesFifth1__ = reader.ReadInt32();
break;
case 6:
__EightSensesFifth2__ = reader.ReadInt32();
break;
case 7:
__EightSensesFifth3__ = reader.ReadInt32();
break;
case 8:
__EightSensesFifth4__ = reader.ReadInt32();
break;
case 9:
___0123456_0123456__ = formatterResolver.GetFormatterWithVerify<string>().Deserialize(ref reader, options);
break;
default:
reader.Skip();
break;
}
}
var ____result = new global::TestType2();
____result.Value = __Value__;
____result.Value0 = __Value0__;
____result.Value1 = __Value1__;
____result.Value2 = __Value2__;
____result.EightSensesFifth0 = __EightSensesFifth0__;
____result.EightSensesFifth1 = __EightSensesFifth1__;
____result.EightSensesFifth2 = __EightSensesFifth2__;
____result.EightSensesFifth3 = __EightSensesFifth3__;
____result.EightSensesFifth4 = __EightSensesFifth4__;
____result._0123456_0123456 = ___0123456_0123456__;
reader.Depth--;
return ____result;
}
}
}
#pragma warning restore 168
#pragma warning restore 414
#pragma warning restore 618
#pragma warning restore 612
#pragma warning restore SA1129 // Do not use default value type constructor
#pragma warning restore SA1200 // Using directives should be placed correctly
#pragma warning restore SA1309 // Field names should not begin with underscore
#pragma warning restore SA1312 // Variable names should begin with lower-case letter
#pragma warning restore SA1403 // File may only contain a single namespace
#pragma warning restore SA1649 // File name should match first type name
using MessagePack;
using MessagePack.Resolvers;
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Jobs;
using BenchmarkDotNet.Running;
namespace test
{
[SimpleJob(RuntimeMoniker.NetCoreApp31)]
[RPlotExporter]
public class Program
{
public static void Main(string[] args)
{
var summary = BenchmarkRunner.Run<Program>();
}
[Params("このベンチマークを取るのにあたりネタに振れすぎず、良い感じに読んだ人を笑わせる文章を考えるのにぬわあああん疲れたもおおおん!", "", "shorter", "a")]
public string ConstantString;
private byte[] testBytes;
private byte[] test2Bytes;
[GlobalSetup]
public void SetUp()
{
RegisterResolver();
var test = new TestType
{
_0123456_0123456 = ConstantString,
EightSensesFifth0 = -114,
EightSensesFifth1 = -514,
EightSensesFifth2 = int.MinValue,
EightSensesFifth3 = int.MaxValue,
EightSensesFifth4 = short.MaxValue,
Value = 31,
Value0 = 0,
Value1 = 1,
Value2 = 255,
};
testBytes = MessagePackSerializer.Serialize(test);
var test2 = new TestType2
{
_0123456_0123456 = test._0123456_0123456,
EightSensesFifth0 = test.EightSensesFifth0,
EightSensesFifth1 = test.EightSensesFifth1,
EightSensesFifth2 = test.EightSensesFifth2,
EightSensesFifth3 = test.EightSensesFifth3,
EightSensesFifth4 = test.EightSensesFifth4,
Value = test.Value,
Value0 = test.Value0,
Value1 = test.Value1,
Value2 = test.Value2,
};
test2Bytes = MessagePackSerializer.Serialize(test2);
}
private static void RegisterResolver()
{
StaticCompositeResolver.Instance.Register(new IFormatterResolver[]
{
GeneratedResolver.Instance,
BuiltinResolver.Instance,
});
var option = MessagePackSerializerOptions.Standard.WithResolver(StaticCompositeResolver.Instance);
MessagePackSerializer.DefaultOptions = option;
}
[Benchmark]
public TestType DeserializeTest_NewEmbeddedFormatter() => MessagePackSerializer.Deserialize<TestType>(testBytes);
[Benchmark]
public TestType2 DeserializeTest2_OriginalGeneratedFormatter() => MessagePackSerializer.Deserialize<TestType2>(test2Bytes);
}
}
using MessagePack;
[MessagePackObject(true)]
public class TestType2
{
public int Value { get; set; }
public int Value0 { get; set; }
public int Value1 { get; set; }
public int Value2 { get; set; }
public int EightSensesFifth0 { get; set; }
public int EightSensesFifth1 { get; set; }
public int EightSensesFifth2 { get; set; }
public int EightSensesFifth3 { get; set; }
public int EightSensesFifth4 { get; set; }
public string _0123456_0123456 { get; set; }
}
[MessagePackObject(true)]
public class TestType
{
public int Value { get; set; }
public int Value0 { get; set; }
public int Value1 { get; set; }
public int Value2 { get; set; }
public int EightSensesFifth0 { get; set; }
public int EightSensesFifth1 { get; set; }
public int EightSensesFifth2 { get; set; }
public int EightSensesFifth3 { get; set; }
public int EightSensesFifth4 { get; set; }
public string _0123456_0123456 { get; set; }
}
namespace MessagePack.Formatters
{
using System;
using System.Buffers;
using System.Runtime.InteropServices;
using MessagePack;
public sealed class TestTypeFormatter : global::MessagePack.Formatters.IMessagePackFormatter<global::TestType>
{
private static byte[] ____stringByteKeys_Value;
private static byte[] ____stringByteKeys_Value0;
private static byte[] ____stringByteKeys_Value1;
private static byte[] ____stringByteKeys_Value2;
private static byte[] ____stringByteKeys_EightSensesFifth0;
private static byte[] ____stringByteKeys_EightSensesFifth1;
private static byte[] ____stringByteKeys_EightSensesFifth2;
private static byte[] ____stringByteKeys_EightSensesFifth3;
private static byte[] ____stringByteKeys_EightSensesFifth4;
private static byte[] ____stringByteKeys__0123456_0123456;
public TestTypeFormatter()
{
____stringByteKeys_Value = new byte[]{ 0xA5, 0x56, 0x61, 0x6C, 0x75, 0x65, };
____stringByteKeys_Value0 = new byte[]{ 0xA6, 0x56, 0x61, 0x6C, 0x75, 0x65, 0x30, };
____stringByteKeys_Value1 = new byte[]{ 0xA6, 0x56, 0x61, 0x6C, 0x75, 0x65, 0x31, };
____stringByteKeys_Value2 = new byte[]{ 0xA6, 0x56, 0x61, 0x6C, 0x75, 0x65, 0x32, };
____stringByteKeys_EightSensesFifth0 = new byte[]{ 0xB1, 0x45, 0x69, 0x67, 0x68, 0x74, 0x53, 0x65, 0x6E, 0x73, 0x65, 0x73, 0x46, 0x69, 0x66, 0x74, 0x68, 0x30, };
____stringByteKeys_EightSensesFifth1 = new byte[]{ 0xB1, 0x45, 0x69, 0x67, 0x68, 0x74, 0x53, 0x65, 0x6E, 0x73, 0x65, 0x73, 0x46, 0x69, 0x66, 0x74, 0x68, 0x31, };
____stringByteKeys_EightSensesFifth2 = new byte[]{ 0xB1, 0x45, 0x69, 0x67, 0x68, 0x74, 0x53, 0x65, 0x6E, 0x73, 0x65, 0x73, 0x46, 0x69, 0x66, 0x74, 0x68, 0x32, };
____stringByteKeys_EightSensesFifth3 = new byte[]{ 0xB1, 0x45, 0x69, 0x67, 0x68, 0x74, 0x53, 0x65, 0x6E, 0x73, 0x65, 0x73, 0x46, 0x69, 0x66, 0x74, 0x68, 0x33, };
____stringByteKeys_EightSensesFifth4 = new byte[]{ 0xB1, 0x45, 0x69, 0x67, 0x68, 0x74, 0x53, 0x65, 0x6E, 0x73, 0x65, 0x73, 0x46, 0x69, 0x66, 0x74, 0x68, 0x34, };
____stringByteKeys__0123456_0123456 = new byte[]{ 0xB0, 0x5F, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x5F, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, };
}
public void Serialize(ref MessagePackWriter writer, global::TestType value, global::MessagePack.MessagePackSerializerOptions options)
{
if (value == null)
{
writer.WriteNil();
return;
}
IFormatterResolver formatterResolver = options.Resolver;
writer.WriteMapHeader(10);
writer.WriteRaw(____stringByteKeys_Value);
writer.Write(value.Value);
writer.WriteRaw(____stringByteKeys_Value0);
writer.Write(value.Value0);
writer.WriteRaw(____stringByteKeys_Value1);
writer.Write(value.Value1);
writer.WriteRaw(____stringByteKeys_Value2);
writer.Write(value.Value2);
writer.WriteRaw(____stringByteKeys_EightSensesFifth0);
writer.Write(value.EightSensesFifth0);
writer.WriteRaw(____stringByteKeys_EightSensesFifth1);
writer.Write(value.EightSensesFifth1);
writer.WriteRaw(____stringByteKeys_EightSensesFifth2);
writer.Write(value.EightSensesFifth2);
writer.WriteRaw(____stringByteKeys_EightSensesFifth3);
writer.Write(value.EightSensesFifth3);
writer.WriteRaw(____stringByteKeys_EightSensesFifth4);
writer.Write(value.EightSensesFifth4);
writer.WriteRaw(____stringByteKeys__0123456_0123456);
formatterResolver.GetFormatterWithVerify<string>().Serialize(ref writer, value._0123456_0123456, options);
}
public global::TestType Deserialize(ref MessagePackReader reader, global::MessagePack.MessagePackSerializerOptions options)
{
if (reader.TryReadNil())
{
return null;
}
options.Security.DepthStep(ref reader);
IFormatterResolver formatterResolver = options.Resolver;
var __Value__ = default(int);
var __Value0__ = default(int);
var __Value1__ = default(int);
var __Value2__ = default(int);
var __EightSensesFifth0__ = default(int);
var __EightSensesFifth1__ = default(int);
var __EightSensesFifth2__ = default(int);
var __EightSensesFifth3__ = default(int);
var __EightSensesFifth4__ = default(int);
var ___0123456_0123456__ = default(string);
var isBigEndian = !global::System.BitConverter.IsLittleEndian;
for (int i = 0, length = reader.ReadMapHeader(); i < length; i++)
{
var stringKey = global::MessagePack.Internal.CodeGenHelpers.ReadStringSpan(ref reader);
switch(stringKey.Length)
{
case 5:
{
ulong last = stringKey[4];
last <<= 8;
last |= stringKey[3];
last <<= 8;
last |= stringKey[2];
last <<= 8;
last |= stringKey[1];
last <<= 8;
last |= stringKey[0];
switch (last)
{
default: goto FAIL;
case 0x65756C6156UL:
__Value__ = reader.ReadInt32();
continue;
}
}
case 6:
{
ulong last = stringKey[5];
last <<= 8;
last |= stringKey[4];
last <<= 8;
last |= stringKey[3];
last <<= 8;
last |= stringKey[2];
last <<= 8;
last |= stringKey[1];
last <<= 8;
last |= stringKey[0];
switch (last)
{
default: goto FAIL;
case 0x3065756C6156UL:
__Value0__ = reader.ReadInt32();
continue;
case 0x3165756C6156UL:
__Value1__ = reader.ReadInt32();
continue;
case 0x3265756C6156UL:
__Value2__ = reader.ReadInt32();
continue;
}
}
}
ReadOnlySpan<ulong> ulongs = isBigEndian ? stackalloc ulong[stringKey.Length >> 3] : MemoryMarshal.Cast<byte, ulong>(stringKey);
if(isBigEndian)
{
for(var index = 0; index < ulongs.Length; index++)
{
var index8times = index << 3;
ref var number = ref global::System.Runtime.CompilerServices.Unsafe.AsRef(ulongs[index]);
number = stringKey[index8times + 7];
for (var numberIndex = index8times + 6; numberIndex >= index8times; numberIndex--)
{
number <<= 8;
number |= stringKey[numberIndex];
}
}
}
switch(stringKey.Length)
{
default: goto FAIL;
case 16:
if (
ulongs[0] != 0x363534333231305FUL || // _0123456
ulongs[1] != 0x363534333231305FUL // _0123456
) goto FAIL;
___0123456_0123456__ = formatterResolver.GetFormatterWithVerify<string>().Deserialize(ref reader, options);
continue;
case 17:
if (ulongs[0] != 0x6E65537468676945UL) goto FAIL; // EightSen
if (ulongs[1] != 0x6874666946736573UL) goto FAIL; // sesFifth
{
uint last = stringKey[16];
switch (last)
{
default: goto FAIL;
case 0x30U:
__EightSensesFifth0__ = reader.ReadInt32();
continue;
case 0x31U:
__EightSensesFifth1__ = reader.ReadInt32();
continue;
case 0x32U:
__EightSensesFifth2__ = reader.ReadInt32();
continue;
case 0x33U:
__EightSensesFifth3__ = reader.ReadInt32();
continue;
case 0x34U:
__EightSensesFifth4__ = reader.ReadInt32();
continue;
}
}
}
FAIL:
reader.Skip();
}
var ____result = new global::TestType();
____result.Value = __Value__;
____result.Value0 = __Value0__;
____result.Value1 = __Value1__;
____result.Value2 = __Value2__;
____result.EightSensesFifth0 = __EightSensesFifth0__;
____result.EightSensesFifth1 = __EightSensesFifth1__;
____result.EightSensesFifth2 = __EightSensesFifth2__;
____result.EightSensesFifth3 = __EightSensesFifth3__;
____result.EightSensesFifth4 = __EightSensesFifth4__;
____result._0123456_0123456 = ___0123456_0123456__;
reader.Depth--;
return ____result;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment