Skip to content

Commit 0475ac4

Browse files
2 parents 7b0d817 + 35a8f13 commit 0475ac4

File tree

1 file changed

+74
-72
lines changed

1 file changed

+74
-72
lines changed

README.md

Lines changed: 74 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)