@@ -49,40 +49,76 @@ Benchmark:
49
49
50
50
```
51
51
52
- | Method | StrLength | Mean | Ratio | Gen0 | Gen1 | Gen2 | Allocated | Alloc Ratio |
53
- | ------------------- | ---------- | --------------:| ------:| ----------:| ----------:| ----------:| --------------:| ------------:|
54
- | ** StringBuilder** | ** 5** | ** 18.40 μs** | ** 1.00** | ** -** | ** -** | ** -** | ** 30.98 KB** | ** 1.00** |
55
- | StringBuilderArray | 5 | 33.35 μs | 1.83 | - | - | - | 34.7 KB | 1.12 |
56
- | | | | | | | | | |
57
- | ** StringBuilder** | ** 7** | ** 16.46 μs** | ** 1.00** | ** -** | ** -** | ** -** | ** 50.59 KB** | ** 1.00** |
58
- | StringBuilderArray | 7 | 32.61 μs | 2.02 | - | - | - | 38.61 KB | 0.76 |
59
- | | | | | | | | | |
60
- | ** StringBuilder** | ** 10** | ** 17.37 μs** | ** 1.00** | ** -** | ** -** | ** -** | ** 56.45 KB** | ** 1.00** |
61
- | StringBuilderArray | 10 | 33.83 μs | 1.98 | - | - | - | 44.47 KB | 0.79 |
62
- | | | | | | | | | |
63
- | ** StringBuilder** | ** 50** | ** 22.60 μs** | ** 1.00** | ** -** | ** -** | ** -** | ** 206.36 KB** | ** 1.00** |
64
- | StringBuilderArray | 50 | 35.55 μs | 1.61 | - | - | - | 122.59 KB | 0.59 |
65
- | | | | | | | | | |
66
- | ** StringBuilder** | ** 100** | ** 28.69 μs** | ** 1.00** | ** -** | ** -** | ** -** | ** 413.8 KB** | ** 1.00** |
67
- | StringBuilderArray | 100 | 42.39 μs | 1.49 | - | - | - | 220.25 KB | 0.53 |
68
- | | | | | | | | | |
69
- | ** StringBuilder** | ** 1000** | ** 655.56 μs** | ** 1.00** | ** -** | ** -** | ** -** | ** 3935.53 KB** | ** 1.00** |
70
- | StringBuilderArray | 1000 | 572.79 μs | 0.90 | - | - | - | 1978.06 KB | 0.50 |
71
- | | | | | | | | | |
72
- | ** StringBuilder** | ** 2500** | ** 1,937.56 μs** | ** 1.00** | ** -** | ** -** | ** -** | ** 9804.08 KB** | ** 1.00** |
73
- | StringBuilderArray | 2500 | 1,344.46 μs | 0.70 | - | - | - | 4907.75 KB | 0.50 |
74
- | | | | | | | | | |
75
- | ** StringBuilder** | ** 5000** | ** 4,863.25 μs** | ** 1.00** | ** 1000.0000** | ** -** | ** -** | ** 19583.76 KB** | ** 1.00** |
76
- | StringBuilderArray | 5000 | 2,893.15 μs | 0.60 | - | - | - | 9790.56 KB | 0.50 |
77
- | | | | | | | | | |
78
- | ** StringBuilder** | ** 10000** | ** 10,066.64 μs** | ** 1.00** | ** 2000.0000** | ** 1000.0000** | ** -** | ** 39162.77 KB** | ** 1.00** |
79
- | StringBuilderArray | 10000 | 5,164.62 μs | 0.52 | - | - | - | 19556.19 KB | 0.50 |
80
- | | | | | | | | | |
81
- | ** StringBuilder** | ** 100000** | ** 54,942.42 μs** | ** 1.00** | ** 4000.0000** | ** 4000.0000** | ** 3000.0000** | ** 390802.44 KB** | ** 1.00** |
82
- | StringBuilderArray | 100000 | 20,573.11 μs | 0.37 | - | - | - | 195337.44 KB | 0.50 |
83
- | | | | | | | | | |
84
- | ** StringBuilder** | ** 500000** | ** 212,154.11 μs** | ** 1.00** | ** 5000.0000** | ** 4000.0000** | ** 4000.0000** | ** 1953310.77 KB** | ** 1.00** |
85
- | StringBuilderArray | 500000 | 105,018.88 μs | 0.49 | - | - | - | 976587.44 KB | 0.50 |
86
- | | | | | | | | | |
87
- | ** StringBuilder** | ** 1071741** | ** 288,174.29 μs** | ** 1.00** | ** 5000.0000** | ** 4000.0000** | ** 4000.0000** | ** 4186664.2 KB** | ** 1.00** |
88
- | StringBuilderArray | 1071741 | 153,042.51 μs | 0.53 | - | - | - | 2093269.08 KB | 0.50 |
52
+ | Method | Job | Runtime | StrLength | Mean | Ratio | Gen0 | Gen1 | Gen2 | Allocated | Alloc Ratio |
53
+ | ------------------- | --------------------- | --------------------- | ---------- | ----------------:| ------:| ----------:| ----------:| ----------:| --------------:| ------------:|
54
+ | ** StringBuilder** | ** .NET 7.0** | ** .NET 7.0** | ** 5** | ** 19.11 μs** | ** 1.00** | ** -** | ** -** | ** -** | ** 30.98 KB** | ** 1.00** |
55
+ | StringBuilderArray | .NET 7.0 | .NET 7.0 | 5 | 31.31 μs | 1.62 | - | - | - | 34.7 KB | 1.12 |
56
+ | | | | | | | | | | | |
57
+ | StringBuilder | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 5 | 24.59 μs | 1.00 | - | - | - | 37.77 KB | 1.00 |
58
+ | StringBuilderArray | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 5 | 14.66 μs | 0.60 | - | - | - | 39.77 KB | 1.05 |
59
+ | | | | | | | | | | | |
60
+ | ** StringBuilder** | ** .NET 7.0** | ** .NET 7.0** | ** 7** | ** 20.76 μs** | ** 1.00** | ** -** | ** -** | ** -** | ** 50.59 KB** | ** 1.00** |
61
+ | StringBuilderArray | .NET 7.0 | .NET 7.0 | 7 | 32.11 μs | 1.58 | - | - | - | 38.61 KB | 0.76 |
62
+ | | | | | | | | | | | |
63
+ | StringBuilder | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 7 | 24.95 μs | 1.00 | - | - | - | 57.35 KB | 1.00 |
64
+ | StringBuilderArray | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 7 | 14.82 μs | 0.60 | - | - | - | 43.68 KB | 0.76 |
65
+ | | | | | | | | | | | |
66
+ | ** StringBuilder** | ** .NET 7.0** | ** .NET 7.0** | ** 10** | ** 20.49 μs** | ** 1.00** | ** -** | ** -** | ** -** | ** 56.45 KB** | ** 1.00** |
67
+ | StringBuilderArray | .NET 7.0 | .NET 7.0 | 10 | 31.46 μs | 1.49 | - | - | - | 44.47 KB | 0.79 |
68
+ | | | | | | | | | | | |
69
+ | StringBuilder | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 10 | 25.54 μs | 1.00 | - | - | - | 63.21 KB | 1.00 |
70
+ | StringBuilderArray | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 10 | 15.08 μs | 0.59 | - | - | - | 49.54 KB | 0.78 |
71
+ | | | | | | | | | | | |
72
+ | ** StringBuilder** | ** .NET 7.0** | ** .NET 7.0** | ** 50** | ** 31.72 μs** | ** 1.00** | ** -** | ** -** | ** -** | ** 206.36 KB** | ** 1.00** |
73
+ | StringBuilderArray | .NET 7.0 | .NET 7.0 | 50 | 34.72 μs | 1.22 | - | - | - | 122.59 KB | 0.59 |
74
+ | | | | | | | | | | | |
75
+ | StringBuilder | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 50 | 30.14 μs | 1.00 | - | - | - | 208.5 KB | 1.00 |
76
+ | StringBuilderArray | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 50 | 14.49 μs | 0.48 | - | - | - | 127.64 KB | 0.61 |
77
+ | | | | | | | | | | | |
78
+ | ** StringBuilder** | ** .NET 7.0** | ** .NET 7.0** | ** 100** | ** 50.03 μs** | ** 1.00** | ** -** | ** -** | ** -** | ** 413.8 KB** | ** 1.00** |
79
+ | StringBuilderArray | .NET 7.0 | .NET 7.0 | 100 | 38.52 μs | 0.95 | - | - | - | 220.25 KB | 0.53 |
80
+ | | | | | | | | | | | |
81
+ | StringBuilder | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 100 | 46.52 μs | 1.00 | - | - | - | 415.86 KB | 1.00 |
82
+ | StringBuilderArray | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 100 | 24.81 μs | 0.57 | - | - | - | 225.3 KB | 0.54 |
83
+ | | | | | | | | | | | |
84
+ | ** StringBuilder** | ** .NET 7.0** | ** .NET 7.0** | ** 1000** | ** 761.80 μs** | ** 1.00** | ** -** | ** -** | ** -** | ** 3935.53 KB** | ** 1.00** |
85
+ | StringBuilderArray | .NET 7.0 | .NET 7.0 | 1000 | 527.09 μs | 0.71 | - | - | - | 1978.06 KB | 0.50 |
86
+ | | | | | | | | | | | |
87
+ | StringBuilder | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 1000 | 722.85 μs | 1.00 | - | - | - | 3940.05 KB | 1.00 |
88
+ | StringBuilderArray | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 1000 | 538.31 μs | 0.77 | - | - | - | 1983.11 KB | 0.50 |
89
+ | | | | | | | | | | | |
90
+ | ** StringBuilder** | ** .NET 7.0** | ** .NET 7.0** | ** 2500** | ** 1,901.71 μs** | ** 1.00** | ** -** | ** -** | ** -** | ** 9804.08 KB** | ** 1.00** |
91
+ | StringBuilderArray | .NET 7.0 | .NET 7.0 | 2500 | 1,406.46 μs | 0.75 | - | - | - | 4907.75 KB | 0.50 |
92
+ | | | | | | | | | | | |
93
+ | StringBuilder | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 2500 | 1,817.16 μs | 1.00 | - | - | - | 9818.19 KB | 1.00 |
94
+ | StringBuilderArray | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 2500 | 1,331.79 μs | 0.75 | - | - | - | 4912.8 KB | 0.50 |
95
+ | | | | | | | | | | | |
96
+ | ** StringBuilder** | ** .NET 7.0** | ** .NET 7.0** | ** 5000** | ** 5,295.15 μs** | ** 1.00** | ** 1000.0000** | ** -** | ** -** | ** 19583.76 KB** | ** 1.00** |
97
+ | StringBuilderArray | .NET 7.0 | .NET 7.0 | 5000 | 2,739.29 μs | 0.51 | - | - | - | 9790.56 KB | 0.50 |
98
+ | | | | | | | | | | | |
99
+ | StringBuilder | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 5000 | 4,455.02 μs | 1.00 | 1000.0000 | - | - | 19608.41 KB | 1.00 |
100
+ | StringBuilderArray | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 5000 | 2,670.66 μs | 0.59 | - | - | - | 9795.61 KB | 0.50 |
101
+ | | | | | | | | | | | |
102
+ | ** StringBuilder** | ** .NET 7.0** | ** .NET 7.0** | ** 10000** | ** 9,537.17 μs** | ** 1.00** | ** 2000.0000** | ** 1000.0000** | ** -** | ** 39162.77 KB** | ** 1.00** |
103
+ | StringBuilderArray | .NET 7.0 | .NET 7.0 | 10000 | 5,241.92 μs | 0.55 | - | - | - | 19556.19 KB | 0.50 |
104
+ | | | | | | | | | | | |
105
+ | StringBuilder | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 10000 | 11,162.79 μs | 1.00 | 3000.0000 | 2000.0000 | - | 39212.8 KB | 1.00 |
106
+ | StringBuilderArray | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 10000 | 5,184.84 μs | 0.47 | - | - | - | 19561.23 KB | 0.50 |
107
+ | | | | | | | | | | | |
108
+ | ** StringBuilder** | ** .NET 7.0** | ** .NET 7.0** | ** 100000** | ** 55,240.60 μs** | ** 1.00** | ** 4000.0000** | ** 4000.0000** | ** 3000.0000** | ** 390802.46 KB** | ** 1.00** |
109
+ | StringBuilderArray | .NET 7.0 | .NET 7.0 | 100000 | 20,971.15 μs | 0.38 | - | - | - | 195337.44 KB | 0.50 |
110
+ | | | | | | | | | | | |
111
+ | StringBuilder | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 100000 | 107,904.39 μs | 1.00 | 5000.0000 | 4000.0000 | 3000.0000 | 390850.55 KB | 1.00 |
112
+ | StringBuilderArray | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 100000 | 49,812.44 μs | 0.46 | - | - | - | 195342.48 KB | 0.50 |
113
+ | | | | | | | | | | | |
114
+ | ** StringBuilder** | ** .NET 7.0** | ** .NET 7.0** | ** 500000** | ** 212,051.93 μs** | ** 1.00** | ** 5000.0000** | ** 4000.0000** | ** 4000.0000** | ** 1953310.77 KB** | ** 1.00** |
115
+ | StringBuilderArray | .NET 7.0 | .NET 7.0 | 500000 | 104,972.60 μs | 0.50 | - | - | - | 976587.44 KB | 0.50 |
116
+ | | | | | | | | | | | |
117
+ | StringBuilder | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 500000 | 525,755.95 μs | 1.00 | 6000.0000 | 5000.0000 | 4000.0000 | 1953358.61 KB | 1.00 |
118
+ | StringBuilderArray | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 500000 | 247,554.09 μs | 0.47 | - | - | - | 976592.48 KB | 0.50 |
119
+ | | | | | | | | | | | |
120
+ | ** StringBuilder** | ** .NET 7.0** | ** .NET 7.0** | ** 1071741** | ** 288,194.84 μs** | ** 1.00** | ** 5000.0000** | ** 4000.0000** | ** 4000.0000** | ** 4186664.2 KB** | ** 1.00** |
121
+ | StringBuilderArray | .NET 7.0 | .NET 7.0 | 1071741 | 152,733.12 μs | 0.53 | - | - | - | 2093269.08 KB | 0.50 |
122
+ | | | | | | | | | | | |
123
+ | StringBuilder | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 1071741 | 1,037,825.78 μs | 1.00 | 6000.0000 | 5000.0000 | 4000.0000 | 4186723.62 KB | 1.00 |
124
+ | StringBuilderArray | .NET Framework 4.8.1 | .NET Framework 4.8.1 | 1071741 | 495,930.11 μs | 0.48 | - | - | - | 2093274.13 KB | 0.50 |
0 commit comments