Skip to content

Latest commit

History

History
237 lines (197 loc) · 8.25 KB

File metadata and controls

237 lines (197 loc) · 8.25 KB
ToString
[IterationSetup]publicvoidSetup(){_str=newstring('S',StrLength);_sb=newSystem.Text.StringBuilder();for(inti=0;i<1000;i++){_sb.AppendLine(_str);}_sbArr=newStringBuilderArray.StringBuilderArray();for(inti=0;i<1000;i++){_sbArr.AppendLine(_str);}}[Benchmark(Baseline=true,Description="StringBuilderArray")]publicvoidStringBuilderArray(){_sbArr.ToString();}[Benchmark(Description="StringBuilder")]publicvoidStringBuilder(){_sb.ToString();}
MethodJobRuntimeStrLengthMeanRatioAllocatedAlloc Ratio
StringBuilderArray.NET 10.0.NET 10.01071741289,587.367 μs1.002093248.07 KB1.00
StringBuilder.NET 10.0.NET 10.01071741318,024.700 μs1.102093248.07 KB1.00
StringBuilderArrayNativeAOT 10.0NativeAOT 10.01071741292,666.936 μs1.002093248.07 KB1.00
StringBuilderNativeAOT 10.0NativeAOT 10.01071741320,468.233 μs1.102093248.07 KB1.00

AppendLine
[IterationSetup]publicvoidSetup(){_str=newstring('S',StrLength);}[Benchmark(Baseline=true,Description="StringBuilderArray")]publicvoidStringBuilderArray(){varsb=newStringBuilderArray.StringBuilderArray();for(inti=0;i<1000;i++){sb.AppendLine(_str);}}[Benchmark(Description="StringBuilder")]publicvoidStringBuilder(){varsb=newSystem.Text.StringBuilder();for(inti=0;i<1000;i++){sb.AppendLine(_str);}}[Benchmark(Description="DefaultInterpolatedStringHandler")]publicvoidDefaultInterpolatedStringHandler(){varsb=newDefaultInterpolatedStringHandler();for(inti=0;i<1000;i++){sb.AppendLiteral(_str);}}
MethodJobRuntimeStrLengthMeanRatioAllocatedAlloc Ratio
StringBuilderArray.NET 10.0.NET 10.0107174129.945 μs1.0320.48 KB1.00
StringBuilder.NET 10.0.NET 10.01071741123,382.045 μs4,229.272093438.98 KB102,196.87
DefaultInterpolatedStringHandler.NET 10.0.NET 10.01071741231,279.579 μs7,927.772097152.02 KB102,378.13
StringBuilderArrayNativeAOT 10.0NativeAOT 10.010717416.277 μs1.0220.48 KB1.00
StringBuilderNativeAOT 10.0NativeAOT 10.01071741126,442.383 μs20,631.072093440.23 KB102,196.93
DefaultInterpolatedStringHandlerNativeAOT 10.0NativeAOT 10.01071741227,531.679 μs37,125.382097152.4 KB102,378.15

AppendLine + Clear
[IterationSetup]publicvoidSetup(){_str=newstring('S',StrLength);}[Benchmark(Baseline=true,Description="StringBuilderArray")]publicvoidStringBuilderArray(){varsb=newStringBuilderArray.StringBuilderArray();for(inti=0;i<1000;i++){sb.AppendLine(_str);}sb.Clear();for(inti=0;i<1000;i++){sb.AppendLine(_str);}}[Benchmark(Description="StringBuilder")]publicvoidStringBuilder(){varsb=newSystem.Text.StringBuilder();for(inti=0;i<1000;i++){sb.AppendLine(_str);}sb.Clear();for(inti=0;i<1000;i++){sb.AppendLine(_str);}}[Benchmark(Description="DefaultInterpolatedStringHandler")]publicvoidDefaultInterpolatedStringHandler(){varsb=newDefaultInterpolatedStringHandler();for(inti=0;i<1000;i++){sb.AppendLiteral(_str);}sb.Clear();for(inti=0;i<1000;i++){sb.AppendLiteral(_str);}}
MethodJobRuntimeStrLengthMeanRatioAllocatedAlloc Ratio
StringBuilderArray.NET 10.0.NET 10.0107174139.325 μs1.0340.82 KB1.00
StringBuilder.NET 10.0.NET 10.01071741233,685.746 μs6,141.004186788.48 KB102,566.30
DefaultInterpolatedStringHandler.NET 10.0.NET 10.01071741466,345.020 μs12,255.032097152.02 KB51,375.21
StringBuilderArrayNativeAOT 10.0NativeAOT 10.0107174110.092 μs1.0140.87 KB1.00
StringBuilderNativeAOT 10.0NativeAOT 10.01071741240,078.979 μs23,996.714186789.73 KB102,448.69
DefaultInterpolatedStringHandlerNativeAOT 10.0NativeAOT 10.01071741455,444.213 μs45,523.192097152.02 KB51,316.28

Insert
[IterationSetup]publicvoidSetup(){_str=newstring('S',StrLength);}[Benchmark(Baseline=true,Description="StringBuilderArray")]publicvoidStringBuilderArray(){varsb=newStringBuilderArray.StringBuilderArray();for(inti=0;i<100;i++){sb.Append(_str);}sb.Insert(0,_str);//in startsb.Insert(100,_str);//after 5 str from startsb.Insert(96,_str);}[Benchmark(Description="StringBuilder")]publicvoidStringBuilder(){varsb=newSystem.Text.StringBuilder();for(inti=0;i<100;i++){sb.Append(_str);}//before 1 str from endsb.Insert(99*_str.Length,_str);//in startsb.Insert(0,_str);//after 5 str from startsb.Insert(5*_str.Length,_str);}
MethodJobRuntimeStrLengthMeanRatioAllocatedAlloc Ratio
StringBuilderArray.NET 10.0.NET 10.010717415.069 μs1.021.45 KB1.00
StringBuilder.NET 10.0.NET 10.0107174114,424.515 μs2,909.17215628.59 KB148,389.57
StringBuilderArrayNativeAOT 10.0NativeAOT 10.010717412.073 μs1.011.45 KB1.00
StringBuilderNativeAOT 10.0NativeAOT 10.0107174113,324.245 μs6,492.04215629.18 KB148,389.97