Skip to content

Commit ae89bbb

Browse files
authored
---
yaml --- r: 341426 b: refs/heads/rxwei-patch-1 c: 560cdca h: refs/heads/master
1 parent 81b6af1 commit ae89bbb

File tree

2 files changed

+40
-2
lines changed

2 files changed

+40
-2
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1015,7 +1015,7 @@ refs/tags/swift-DEVELOPMENT-SNAPSHOT-2018-08-18-a: b10b1fce14385faa6d44f6b933e95
10151015
refs/heads/rdar-43033749-fix-batch-mode-no-diags-swift-5.0-branch: a14e64eaad30de89f0f5f0b2a782eed7ecdcb255
10161016
refs/heads/revert-19006-error-bridging-integer-type: 8a9065a3696535305ea53fe9b71f91cbe6702019
10171017
refs/heads/revert-19050-revert-19006-error-bridging-integer-type: ecf752d54b05dd0a20f510f0bfa54a3fec3bcaca
1018-
refs/heads/rxwei-patch-1: 878433eee661fba1df4483a11e48d23422c2be92
1018+
refs/heads/rxwei-patch-1: 560cdca452379526e925c791b2cce46a01d15a6e
10191019
refs/heads/shahmishal-patch-1: e58ec0f7488258d42bef51bc3e6d7b3dc74d7b2a
10201020
refs/heads/typelist-existential: 4046359efd541fb5c72d69a92eefc0a784df8f5e
10211021
refs/tags/swift-4.2-DEVELOPMENT-SNAPSHOT-2018-08-20-a: 4319ba09e4fb8650ee86061075c74a016b6baab9

branches/rxwei-patch-1/benchmark/single-source/AngryPhonebook.swift

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ public let AngryPhonebook = [
2323
runFunction: run_AngryPhonebook,
2424
tags: t,
2525
legacyFactor: 7),
26+
27+
// Small String Workloads
2628
BenchmarkInfo(
2729
name: "AngryPhonebook.Latin",
2830
runFunction: { angryPhonebook($0, latin) },
@@ -37,7 +39,24 @@ public let AngryPhonebook = [
3739
name: "AngryPhonebook.Cyrillic",
3840
runFunction: { angryPhonebook($0, cyrillic) },
3941
tags: t,
40-
setUpFunction: { blackHole(cyrillic) })
42+
setUpFunction: { blackHole(cyrillic) }),
43+
44+
// Large String Workloads
45+
BenchmarkInfo(
46+
name: "AngryPhonebook.Latin.Large",
47+
runFunction: { largeAngryPhonebook($0, latinLarge) },
48+
tags: t,
49+
setUpFunction: { blackHole(latinLarge) }),
50+
BenchmarkInfo(
51+
name: "AngryPhonebook.Armenian.Large",
52+
runFunction: { largeAngryPhonebook($0, armenianLarge) },
53+
tags: t,
54+
setUpFunction: { blackHole(armenianLarge) }),
55+
BenchmarkInfo(
56+
name: "AngryPhonebook.Cyrillic.Large",
57+
runFunction: { largeAngryPhonebook($0, cyrillicLarge) },
58+
tags: t,
59+
setUpFunction: { blackHole(cyrillicLarge) })
4160
]
4261

4362
let words = [
@@ -64,17 +83,29 @@ public func run_AngryPhonebook(_ N: Int) {
6483
// a total length of approximately 120 characters.
6584
// E.g.: `latin.joined(separator: "").count == 124`
6685

86+
/// Precompose the phonebook into one large string of comma separated names.
87+
func large(_ names: [String]) -> String {
88+
names.map { firstName in
89+
names.map { lastName in
90+
firstName + " " + lastName }
91+
.joined(separator: ", ")
92+
}.joined(separator: ", ")
93+
}
94+
6795
let latin = Array(words.prefix(20))
96+
let latinLarge = large(latin)
6897

6998
let armenian = [
7099
"Արմեն", "Աննա", "Հարութ", "Միքայել", "Մարիա", "Դավիթ", "Վարդան",
71100
"Նարինե", "Տիգրան", "Տաթևիկ", "Թագուհի", "Թամարա", "Ազնաուր", "Գրիգոր",
72101
"Կոմիտաս", "Հայկ", "Գառնիկ", "Վահրամ", "Վահագն", "Գևորգ"]
102+
let armenianLarge = large(armenian)
73103

74104
let cyrillic = [
75105
"Ульяна", "Аркадий", "Аня", "Даниил", "Дмитрий", "Эдуард", "Юрій", "Давид",
76106
"Анна", "Дмитрий", "Евгений", "Борис", "Ксения", "Артур", "Аполлон",
77107
"Соломон", "Николай", "Кристи", "Надежда", "Спартак"]
108+
let cyrillicLarge = large(cyrillic)
78109

79110
@inline(never)
80111
public func angryPhonebook(_ N: Int, _ names: [String]) {
@@ -88,3 +119,10 @@ public func angryPhonebook(_ N: Int, _ names: [String]) {
88119
}
89120
}
90121
}
122+
123+
@inline(never)
124+
public func largeAngryPhonebook(_ N: Int, _ names: String) {
125+
for _ in 1...N {
126+
blackHole((names.uppercased(), names.lowercased()))
127+
}
128+
}

0 commit comments

Comments
 (0)