Skip to content

Latest commit

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

StringCreator

NugetDownloadsStarsLicense

Assembling a string with a pre-known resulting string length: uses 50% less memory then StringBuilder.

Benchmark:

MethodJobRuntimeStrLengthMeanRatioAllocatedAlloc Ratio
StringBuilder.NET 10.0.NET 10.0536.88 ns1.00120 B1.00
DefaultInterpolatedStringHandler.NET 10.0.NET 10.05149.72 ns4.07152 B1.27
Concatenation.NET 10.0.NET 10.05108.69 ns2.95248 B2.07
StringCreator.NET 10.0.NET 10.0527.45 ns0.7564 B0.53
StringBuilderNativeAOT 10.0NativeAOT 10.0540.36 ns1.00120 B1.00
DefaultInterpolatedStringHandlerNativeAOT 10.0NativeAOT 10.05176.95 ns4.40152 B1.27
ConcatenationNativeAOT 10.0NativeAOT 10.05145.19 ns3.61248 B2.07
StringCreatorNativeAOT 10.0NativeAOT 10.0537.59 ns0.9364 B0.53
StringBuilder.NET 10.0.NET 10.025112.02 ns1.00200 B1.00
DefaultInterpolatedStringHandler.NET 10.0.NET 10.025531.40 ns4.74672 B3.36
Concatenation.NET 10.0.NET 10.025623.67 ns5.571848 B9.24
StringCreator.NET 10.0.NET 10.025104.48 ns0.93104 B0.52
StringBuilderNativeAOT 10.0NativeAOT 10.025144.13 ns1.00200 B1.00
DefaultInterpolatedStringHandlerNativeAOT 10.0NativeAOT 10.025616.37 ns4.28672 B3.36
ConcatenationNativeAOT 10.0NativeAOT 10.025817.48 ns5.671848 B9.24
StringCreatorNativeAOT 10.0NativeAOT 10.025149.63 ns1.04104 B0.52
StringBuilder.NET 10.0.NET 10.0100406.36 ns1.00496 B1.00
DefaultInterpolatedStringHandler.NET 10.0.NET 10.01001,949.56 ns4.802624 B5.29
Concatenation.NET 10.0.NET 10.01002,744.22 ns6.7514976 B30.19
StringCreator.NET 10.0.NET 10.0100392.47 ns0.97256 B0.52
StringBuilderNativeAOT 10.0NativeAOT 10.0100530.65 ns1.00496 B1.00
DefaultInterpolatedStringHandlerNativeAOT 10.0NativeAOT 10.01002,378.89 ns4.492624 B5.29
ConcatenationNativeAOT 10.0NativeAOT 10.01003,869.99 ns7.3014976 B30.19
StringCreatorNativeAOT 10.0NativeAOT 10.0100562.36 ns1.06256 B0.52
StringBuilder.NET 10.0.NET 10.010003,891.79 ns1.004096 B1.00
DefaultInterpolatedStringHandler.NET 10.0.NET 10.0100019,318.02 ns4.9626024 B6.35
Concatenation.NET 10.0.NET 10.0100063,794.51 ns16.391049976 B256.34
StringCreator.NET 10.0.NET 10.010003,693.73 ns0.952056 B0.50
StringBuilderNativeAOT 10.0NativeAOT 10.010005,190.07 ns1.004096 B1.00
DefaultInterpolatedStringHandlerNativeAOT 10.0NativeAOT 10.0100023,148.44 ns4.4726024 B6.35
ConcatenationNativeAOT 10.0NativeAOT 10.0100072,140.25 ns13.951049976 B256.34
StringCreatorNativeAOT 10.0NativeAOT 10.010005,201.16 ns1.012056 B0.50

Usage:

varstringCreator=newStringCreator.Class.StringCreator(50);for(inti=0;i<50;i++){stringCreator.Append($"{i%10}");}varresult=stringCreator.ToString();

About

Assembling a string with a pre-known resulting string length: uses 50% less memory then StringBuilder.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages