mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Add and enable another large diffing benchmark (#83832)
Enabling both of these despite the long runtime so that I can get an accurate measure of the change with the new diffing implementation. After #83212 is merged I will disable these large benchmarks again.
This commit is contained in:
@@ -50,10 +50,15 @@ public let benchmarks = [
|
|||||||
tags: t,
|
tags: t,
|
||||||
setUpFunction: { blackHole((unabridgedLorem, loremIpsum)) }),
|
setUpFunction: { blackHole((unabridgedLorem, loremIpsum)) }),
|
||||||
BenchmarkInfo(
|
BenchmarkInfo(
|
||||||
name: "Diffing.VeryLarge",
|
name: "Diffing.Large.Similar",
|
||||||
runFunction: { diff($0, from: bigUnabridgedLorem, to: bigLoremIpsum) },
|
runFunction: { diff($0, from: bigUnabridgedLorem, to: bigLoremIpsum) },
|
||||||
tags: t + [.skip],
|
tags: t,
|
||||||
setUpFunction: { blackHole((bigUnabridgedLorem, bigLoremIpsum)) }),
|
setUpFunction: { blackHole((bigUnabridgedLorem, bigLoremIpsum)) }),
|
||||||
|
BenchmarkInfo(
|
||||||
|
name: "Diffing.Large.Disparate",
|
||||||
|
runFunction: { diff($0, from: bigNumbersAndSymbols, to: bigAlphabets) },
|
||||||
|
tags: t,
|
||||||
|
setUpFunction: { blackHole((bigNumbersAndSymbols, bigAlphabets)) }),
|
||||||
]
|
]
|
||||||
|
|
||||||
let numbersAndSymbols = Array("0123456789`~!@#$%^&*()+=_-\"'?/<,>.\\{}'")
|
let numbersAndSymbols = Array("0123456789`~!@#$%^&*()+=_-\"'?/<,>.\\{}'")
|
||||||
@@ -66,6 +71,8 @@ let unabridgedLorem = Array("Lorem ipsum, quia dolor sit amet consectetur adipis
|
|||||||
let loremReversed = Array(loremIpsum.reversed())
|
let loremReversed = Array(loremIpsum.reversed())
|
||||||
let bigLoremIpsum = Array(repeatElement(loremIpsum, count: 100).joined())
|
let bigLoremIpsum = Array(repeatElement(loremIpsum, count: 100).joined())
|
||||||
let bigUnabridgedLorem = Array(repeatElement(unabridgedLorem, count: 100).joined())
|
let bigUnabridgedLorem = Array(repeatElement(unabridgedLorem, count: 100).joined())
|
||||||
|
let bigNumbersAndSymbols = Array(repeatElement(numbersAndSymbols, count: 250).joined())
|
||||||
|
let bigAlphabets = Array(repeatElement(alphabets, count: 250).joined())
|
||||||
|
|
||||||
@inline(never) func diff(_ n: Int, from older: [Character], to newer: [Character]) {
|
@inline(never) func diff(_ n: Int, from older: [Character], to newer: [Character]) {
|
||||||
if #available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) {
|
if #available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) {
|
||||||
|
|||||||
Reference in New Issue
Block a user