Skip to content

Commit 00ef29c

Browse files
committed
Merge branch 'fix-ConcurrentReadableArray-double-free' into fix-metadatalookup-deadlocks
2 parents b3d1030 + a4863c4 commit 00ef29c

File tree

213 files changed

+9064
-1739
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

213 files changed

+9064
-1739
lines changed

benchmark/single-source/StringBuilder.swift

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@ public let StringBuilder = [
2121
name: "StringBuilder",
2222
runFunction: run_StringBuilder,
2323
tags: [.validation, .api, .String]),
24+
BenchmarkInfo(
25+
name: "StringBuilderSmallReservingCapacity",
26+
runFunction: run_StringBuilderSmallReservingCapacity,
27+
tags: [.validation, .api, .String]),
2428
BenchmarkInfo(
2529
name: "StringUTF16Builder",
2630
runFunction: run_StringUTF16Builder,
@@ -48,8 +52,11 @@ public let StringBuilder = [
4852
]
4953

5054
@inline(never)
51-
func buildString(_ i: String) -> String {
55+
func buildString(_ i: String, reservingCapacity: Bool = false) -> String {
5256
var sb = getString(i)
57+
if reservingCapacity {
58+
sb.reserveCapacity(10)
59+
}
5360
for str in ["b","c","d","pizza"] {
5461
sb += str
5562
}
@@ -63,6 +70,13 @@ public func run_StringBuilder(_ N: Int) {
6370
}
6471
}
6572

73+
@inline(never)
74+
public func run_StringBuilderSmallReservingCapacity(_ N: Int) {
75+
for _ in 1...5000*N {
76+
blackHole(buildString("a", reservingCapacity: true))
77+
}
78+
}
79+
6680
@inline(never)
6781
func addString(_ i: String) -> String {
6882
let s = getString(i) + "b" + "c" + "d" + "pizza"
@@ -179,3 +193,4 @@ public func run_StringWordBuilderReservingCapacity(_ N: Int) {
179193
blackHole(buildString(
180194
word: "bumfuzzle", count: 50_000 * N, reservingCapacity: true))
181195
}
196+

0 commit comments

Comments
 (0)