Skip to content

Commit

Permalink
Use NSUUID for IGListKit benchmark
Browse files Browse the repository at this point in the history
  • Loading branch information
ra1028 committed May 4, 2019
1 parent 0c03f28 commit 643f5b9
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 15 deletions.
19 changes: 6 additions & 13 deletions Benchmark/Sources/BenchmarkTools.swift
Original file line number Diff line number Diff line change
Expand Up @@ -21,23 +21,16 @@ extension UUID: DiffAware {
}
}

final class UUIDWrapper: ListDiffable {
let uuid: UUID

init(uuid: UUID) {
self.uuid = uuid
}

func diffIdentifier() -> NSObjectProtocol {
return uuid as NSUUID
extension NSUUID: ListDiffable {
public func diffIdentifier() -> NSObjectProtocol {
return self
}

func isEqual(toDiffableObject object: ListDiffable?) -> Bool {
guard let object = object as? UUIDWrapper else {
public func isEqual(toDiffableObject object: ListDiffable?) -> Bool {
guard let other = object as? NSUUID else {
return false
}

return uuid == object.uuid
return self == other
}
}

Expand Down
4 changes: 2 additions & 2 deletions Benchmark/Sources/main.swift
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ let runner = BenchmarkRunner(
}
},
Benchmark(name: "IGListKit") { data in
let oldArray = data.source.map(UUIDWrapper.init)
let newArray = data.target.map(UUIDWrapper.init)
let oldArray = data.source.map { $0 as NSUUID }
let newArray = data.target.map { $0 as NSUUID }

return {
_ = ListDiff(oldArray: oldArray, newArray: newArray, option: .equality)
Expand Down

0 comments on commit 643f5b9

Please sign in to comment.