@@ -43,43 +43,43 @@ The version of StringBuilder built on an array of strings string[]: uses less me
4343
4444```
4545
46- | Method | StrLength | Mean | Ratio | Gen0 | Gen1 | Gen2 | Allocated | Alloc Ratio |
47- | ------------------- | ---------- | --------------:| ------:| ----------: | ----------: | ----------: | ---------- ----:| ------------:|
48- | ** System.Text. StringBuilder** | ** 5** | ** 17.97 μs** | ** 1.00** | ** - ** | ** - ** | ** - ** | ** 30.98 KB** | ** 1.00** |
49- | StringBuilderArray | 5 | 31.92 μs | 1.77 | - | - | - | 34.77 KB | 1.12 |
50- | | | | | | | | | |
51- | ** System.Text. StringBuilder** | ** 7** | ** 19.56 μs** | ** 1.00** | ** - ** | ** - ** | ** - ** | ** 50.59 KB** | ** 1.00** |
52- | StringBuilderArray | 7 | 31.61 μs | 1.64 | - | - | - | 38.67 KB | 0.76 |
53- | | | | | | | | | |
54- | ** System.Text. StringBuilder** | ** 10** | ** 18.31 μs** | ** 1.00** | ** - ** | ** - ** | ** - ** | ** 56.45 KB** | ** 1.00** |
55- | StringBuilderArray | 10 | 32.29 μs | 1.76 | - | - | - | 44.53 KB | 0.79 |
56- | | | | | | | | | |
57- | ** System.Text. StringBuilder** | ** 50** | ** 28.05 μs** | ** 1.00** | ** - ** | ** - ** | ** - ** | ** 206.36 KB** | ** 1.00** |
58- | StringBuilderArray | 50 | 34.38 μs | 1.39 | - | - | - | 122.66 KB | 0.59 |
59- | | | | | | | | | |
60- | ** System.Text. StringBuilder** | ** 100** | ** 29.47 μs** | ** 1.00** | ** - ** | ** - ** | ** - ** | ** 413.8 KB** | ** 1.00** |
61- | StringBuilderArray | 100 | 37.92 μs | 1.28 | - | - | - | 220.31 KB | 0.53 |
62- | | | | | | | | | |
63- | ** System.Text. StringBuilder** | ** 1000** | ** 747.71 μs** | ** 1.00** | ** - ** | ** - ** | ** - ** | ** 3935.53 KB** | ** 1.00** |
64- | StringBuilderArray | 1000 | 550.49 μs | 0.78 | - | - | - | 1978.13 KB | 0.50 |
65- | | | | | | | | | |
66- | ** System.Text. StringBuilder** | ** 2500** | ** 1,869.84 μs** | ** 1.00** | ** - ** | ** - ** | ** - ** | ** 9804.08 KB** | ** 1.00** |
67- | StringBuilderArray | 2500 | 1,348.66 μs | 0.73 | - | - | - | 4907.81 KB | 0.50 |
68- | | | | | | | | | |
69- | ** System.Text. StringBuilder** | ** 5000** | ** 5,274.39 μs** | ** 1.00** | ** 1000.0000 ** | ** - ** | ** - ** | ** 19583.76 KB** | ** 1.00** |
70- | StringBuilderArray | 5000 | 2,672.41 μs | 0.51 | - | - | - | 9790.63 KB | 0.50 |
71- | | | | | | | | | |
72- | ** System.Text. StringBuilder** | ** 10000** | ** 10,141.16 μs** | ** 1.00** | ** 2000.0000 ** | ** 1000.0000 ** | ** - ** | ** 39162.77 KB** | ** 1.00** |
73- | StringBuilderArray | 10000 | 5,112.69 μs | 0.50 | - | - | - | 19556.25 KB | 0.50 |
74- | | | | | | | | | |
75- | ** System.Text. StringBuilder** | ** 100000** | ** 54,063.39 μs** | ** 1.00** | ** 4000.0000 ** | ** 4000.0000 ** | ** 3000.0000 ** | ** 390802.44 KB** | ** 1.00** |
76- | StringBuilderArray | 100000 | 20,596.38 μs | 0.38 | - | - | - | 195337.5 KB | 0.50 |
77- | | | | | | | | | |
78- | ** System.Text. StringBuilder** | ** 500000** | ** 210,668.68 μs** | ** 1.00** | ** 5000.0000 ** | ** 4000.0000 ** | ** 4000.0000 ** | ** 1953310.77 KB** | ** 1.00** |
79- | StringBuilderArray | 500000 | 105,116.28 μs | 0.50 | - | - | - | 976587.5 KB | 0.50 |
80- | | | | | | | | | |
81- | ** System.Text. StringBuilder** | ** 1071741** | ** 289,865.89 μs** | ** 1.00** | ** 5000.0000 ** | ** 4000.0000 ** | ** 4000.0000 ** | ** 4186664.2 KB** | ** 1.00** |
82- | StringBuilderArray | 1071741 | 152,856.84 μs | 0.53 | - | - | - | 2093269.14 KB | 0.50 |
46+ | Method | StrLength | Mean | Ratio | Allocated | Alloc Ratio |
47+ | ------------------- | ---------- | --------------:| ------:| --------------:| ------------:|
48+ | ** StringBuilder** | ** 5** | ** 17.89 μs** | ** 1.00** | ** 30.98 KB** | ** 1.00** |
49+ | StringBuilderArray | 5 | 33.04 μs | 1.84 | 34.77 KB | 1.12 |
50+ | | | | | | |
51+ | ** StringBuilder** | ** 7** | ** 19.36 μs** | ** 1.00** | ** 50.59 KB** | ** 1.00** |
52+ | StringBuilderArray | 7 | 33.03 μs | 1.71 | 38.67 KB | 0.76 |
53+ | | | | | | |
54+ | ** StringBuilder** | ** 10** | ** 19.20 μs** | ** 1.00** | ** 56.45 KB** | ** 1.00** |
55+ | StringBuilderArray | 10 | 33.44 μs | 1.75 | 44.53 KB | 0.79 |
56+ | | | | | | |
57+ | ** StringBuilder** | ** 50** | ** 27.21 μs** | ** 1.00** | ** 206.36 KB** | ** 1.00** |
58+ | StringBuilderArray | 50 | 35.86 μs | 1.25 | 122.66 KB | 0.59 |
59+ | | | | | | |
60+ | ** StringBuilder** | ** 100** | ** 29.57 μs** | ** 1.00** | ** 413.8 KB** | ** 1.00** |
61+ | StringBuilderArray | 100 | 39.34 μs | 1.33 | 220.31 KB | 0.53 |
62+ | | | | | | |
63+ | ** StringBuilder** | ** 1000** | ** 701.28 μs** | ** 1.00** | ** 3935.53 KB** | ** 1.00** |
64+ | StringBuilderArray | 1000 | 587.01 μs | 0.89 | 1978.13 KB | 0.50 |
65+ | | | | | | |
66+ | ** StringBuilder** | ** 2500** | ** 1,840.94 μs** | ** 1.00** | ** 9804.08 KB** | ** 1.00** |
67+ | StringBuilderArray | 2500 | 1,374.07 μs | 0.75 | 4907.81 KB | 0.50 |
68+ | | | | | | |
69+ | ** StringBuilder** | ** 5000** | ** 5,041.05 μs** | ** 1.00** | ** 19583.76 KB** | ** 1.00** |
70+ | StringBuilderArray | 5000 | 2,795.59 μs | 0.56 | 9790.95 KB | 0.50 |
71+ | | | | | | |
72+ | ** StringBuilder** | ** 10000** | ** 9,842.60 μs** | ** 1.00** | ** 39162.77 KB** | ** 1.00** |
73+ | StringBuilderArray | 10000 | 5,271.43 μs | 0.53 | 19556.25 KB | 0.50 |
74+ | | | | | | |
75+ | ** StringBuilder** | ** 100000** | ** 54,744.65 μs** | ** 1.00** | ** 390802.46 KB** | ** 1.00** |
76+ | StringBuilderArray | 100000 | 20,572.29 μs | 0.38 | 195337.5 KB | 0.50 |
77+ | | | | | | |
78+ | ** StringBuilder** | ** 500000** | ** 213,324.82 μs** | ** 1.00** | ** 1953310.77 KB** | ** 1.00** |
79+ | StringBuilderArray | 500000 | 105,173.60 μs | 0.49 | 976587.5 KB | 0.50 |
80+ | | | | | | |
81+ | ** StringBuilder** | ** 1071741** | ** 289,821.51 μs** | ** 1.00** | ** 4186664.2 KB** | ** 1.00** |
82+ | StringBuilderArray | 1071741 | 153,198.15 μs | 0.53 | 2093269.14 KB | 0.50 |
8383
8484## Reuse instance benchmark
8585``` C#
@@ -122,40 +122,42 @@ The version of StringBuilder built on an array of strings string[]: uses less me
122122
123123```
124124
125- | Method | StrLength | Mean | Ratio | Gen0 | Gen1 | Gen2 | Allocated | Alloc Ratio |
126- | ------------------- | ---------- | --------------:| ------:| ----------:| ----------:| ----------:| --------------:| ------------:|
127- | ** System.Text.StringBuilder** | ** 5** | ** 22.54 μs** | ** 1.00** | ** -** | ** -** | ** -** | ** 47.01 KB** | ** 1.00** |
128- | StringBuilderArray | 5 | 39.13 μs | 1.75 | - | - | - | 45.12 KB | 0.96 |
129- | | | | | | | | | |
130- | ** System.Text.StringBuilder** | ** 7** | ** 21.42 μs** | ** 1.00** | ** -** | ** -** | ** -** | ** 71.7 KB** | ** 1.00** |
131- | StringBuilderArray | 7 | 38.15 μs | 1.78 | - | - | - | 49.02 KB | 0.68 |
132- | | | | | | | | | |
133- | ** System.Text.StringBuilder** | ** 10** | ** 22.49 μs** | ** 1.00** | ** -** | ** -** | ** -** | ** 84.59 KB** | ** 1.00** |
134- | StringBuilderArray | 10 | 39.34 μs | 1.77 | - | - | - | 54.88 KB | 0.65 |
135- | | | | | | | | | |
136- | ** System.Text.StringBuilder** | ** 50** | ** 29.06 μs** | ** 1.00** | ** -** | ** -** | ** -** | ** 309.51 KB** | ** 1.00** |
137- | StringBuilderArray | 50 | 41.42 μs | 1.42 | - | - | - | 133.01 KB | 0.43 |
138- | | | | | | | | | |
139- | ** System.Text.StringBuilder** | ** 100** | ** 96.25 μs** | ** 1.00** | ** -** | ** -** | ** -** | ** 626.33 KB** | ** 1.00** |
140- | StringBuilderArray | 100 | 49.48 μs | 0.56 | - | - | - | 230.66 KB | 0.37 |
141- | | | | | | | | | |
142- | ** System.Text.StringBuilder** | ** 1000** | ** 1,109.48 μs** | ** 1.00** | ** -** | ** -** | ** -** | ** 5904.3 KB** | ** 1.00** |
143- | StringBuilderArray | 1000 | 542.58 μs | 0.50 | - | - | - | 1988.48 KB | 0.34 |
144- | | | | | | | | | |
145- | ** System.Text.StringBuilder** | ** 2500** | ** 3,839.15 μs** | ** 1.00** | ** 1000.0000** | ** 1000.0000** | ** 1000.0000** | ** 14698.94 KB** | ** 1.00** |
146- | StringBuilderArray | 2500 | 1,378.40 μs | 0.36 | - | - | - | 4918.16 KB | 0.33 |
147- | | | | | | | | | |
148- | ** System.Text.StringBuilder** | ** 5000** | ** 8,019.07 μs** | ** 1.00** | ** 2000.0000** | ** 1000.0000** | ** 1000.0000** | ** 29353.62 KB** | ** 1.00** |
149- | StringBuilderArray | 5000 | 2,711.04 μs | 0.36 | - | - | - | 9800.98 KB | 0.33 |
150- | | | | | | | | | |
151- | ** System.Text.StringBuilder** | ** 10000** | ** 13,084.87 μs** | ** 1.00** | ** 3000.0000** | ** 2000.0000** | ** 1000.0000** | ** 58702.15 KB** | ** 1.00** |
152- | StringBuilderArray | 10000 | 5,610.82 μs | 0.42 | - | - | - | 19566.6 KB | 0.33 |
153- | | | | | | | | | |
154- | ** System.Text.StringBuilder** | ** 100000** | ** 95,966.62 μs** | ** 1.00** | ** 5000.0000** | ** 5000.0000** | ** 4000.0000** | ** 586134.84 KB** | ** 1.00** |
155- | StringBuilderArray | 100000 | 20,813.11 μs | 0.25 | - | - | - | 195347.85 KB | 0.33 |
156- | | | | | | | | | |
157- | ** System.Text.StringBuilder** | ** 500000** | ** 284,075.06 μs** | ** 1.00** | ** 7000.0000** | ** 6000.0000** | ** 4000.0000** | ** 2930037.34 KB** | ** 1.00** |
158- | StringBuilderArray | 500000 | 105,142.19 μs | 0.37 | - | - | - | 976597.85 KB | 0.33 |
159- | | | | | | | | | |
125+ | Method | StrLength | Mean | Ratio | Allocated | Alloc Ratio |
126+ | ------------------- | ---------- | --------------:| ------:| --------------:| ------------:|
127+ | ** StringBuilder** | ** 5** | ** 25.98 μs** | ** 1.00** | ** 47.01 KB** | ** 1.00** |
128+ | StringBuilderArray | 5 | 39.27 μs | 1.54 | 55.1 KB | 1.17 |
129+ | | | | | | |
130+ | ** StringBuilder** | ** 7** | ** 23.70 μs** | ** 1.00** | ** 71.7 KB** | ** 1.00** |
131+ | StringBuilderArray | 7 | 40.51 μs | 1.72 | 59.01 KB | 0.82 |
132+ | | | | | | |
133+ | ** StringBuilder** | ** 10** | ** 25.20 μs** | ** 1.00** | ** 84.59 KB** | ** 1.00** |
134+ | StringBuilderArray | 10 | 39.08 μs | 1.60 | 64.87 KB | 0.77 |
135+ | | | | | | |
136+ | ** StringBuilder** | ** 50** | ** 30.39 μs** | ** 1.00** | ** 309.51 KB** | ** 1.00** |
137+ | StringBuilderArray | 50 | 45.60 μs | 1.52 | 142.99 KB | 0.46 |
138+ | | | | | | |
139+ | ** StringBuilder** | ** 100** | ** 108.48 μs** | ** 1.00** | ** 626.33 KB** | ** 1.00** |
140+ | StringBuilderArray | 100 | 44.93 μs | 0.45 | 240.65 KB | 0.38 |
141+ | | | | | | |
142+ | ** StringBuilder** | ** 1000** | ** 1,179.51 μs** | ** 1.00** | ** 5904.3 KB** | ** 1.00** |
143+ | StringBuilderArray | 1000 | 570.91 μs | 0.49 | 1998.46 KB | 0.34 |
144+ | | | | | | |
145+ | ** StringBuilder** | ** 2500** | ** 3,970.17 μs** | ** 1.00** | ** 14698.94 KB** | ** 1.00** |
146+ | StringBuilderArray | 2500 | 1,516.39 μs | 0.38 | 4928.15 KB | 0.34 |
147+ | | | | | | |
148+ | ** StringBuilder** | ** 5000** | ** 8,286.17 μs** | ** 1.00** | ** 29353.62 KB** | ** 1.00** |
149+ | StringBuilderArray | 5000 | 2,903.21 μs | 0.35 | 9810.96 KB | 0.33 |
150+ | | | | | | |
151+ | ** StringBuilder** | ** 10000** | ** 13,094.03 μs** | ** 1.00** | ** 58702.15 KB** | ** 1.00** |
152+ | StringBuilderArray | 10000 | 5,196.08 μs | 0.40 | 19576.59 KB | 0.33 |
153+ | | | | | | |
154+ | ** StringBuilder** | ** 100000** | ** 66,915.82 μs** | ** 1.00** | ** 586134.84 KB** | ** 1.00** |
155+ | StringBuilderArray | 100000 | 20,600.99 μs | 0.31 | 195357.84 KB | 0.33 |
156+ | | | | | | |
157+ | ** StringBuilder** | ** 500000** | ** 284,550.02 μs** | ** 1.00** | ** 2930037.34 KB** | ** 1.00** |
158+ | StringBuilderArray | 500000 | 105,025.78 μs | 0.37 | 976607.84 KB | 0.33 |
159+ | | | | | | |
160+ | ** StringBuilder** | ** 1071741** | ** 370,070.86 μs** | ** 1.00** | ** 6280013.72 KB** | ** 1.00** |
161+ | StringBuilderArray | 1071741 | 153,051.83 μs | 0.41 | 2093289.48 KB | 0.33 |
160162| ** System.Text.StringBuilder** | ** 1071741** | ** 370,876.76 μs** | ** 1.00** | ** 7000.0000** | ** 6000.0000** | ** 4000.0000** | ** 6280013.72 KB** | ** 1.00** |
161163| StringBuilderArray | 1071741 | 152,671.59 μs | 0.41 | - | - | - | 2093279.49 KB | 0.33 |
0 commit comments