Repository navigation
Performance Optimization
Konrad Feiler edited this page Jul 31, 2017
·
2 revisions
xcodebuild -project Example/Pods/Pods.xcodeproj/ -scheme KDTree-iOS clean build OTHER_SWIFT_FLAGS="-Xfrontend -debug-time-function-bodies" | grep "[0-9][0-9].[0-9]*ms" | sort -nr > culprits.txt
Welcome to the KDTree wiki!
To check whether a new method takes particularly long to compile run:
xcodebuild -project Example/Pods/Pods.xcodeproj/ -scheme KDTree-iOS clean build OTHER_SWIFT_FLAGS="-Xfrontend -debug-time-function-bodies" | grep "[0-9][0-9]\.[0-9]*ms" | sort -nr > culprits.txt
Current Situation [4.0 Ghz core iMac]:
- 71.99ms /Users/konrad/KDTree/Pod/Classes/KDTree.swift:20:12 public init(values: [Element], depth: Int = default)
- 63.20ms /Users/konrad/KDTree/Pod/Classes/KDTree.swift:20:12 public init(values: [Element], depth: Int = default)
- 46.26ms /Users/konrad/KDTree/Pod/Classes/KDTree+RangeSearch.swift:12:22 fileprivate func fitsIn(_ intervals: [(Double, Double)]) -> Bool
- 43.89ms /Users/konrad/KDTree/Pod/Classes/KDTree+RangeSearch.swift:12:22 fileprivate func fitsIn(_ intervals: [(Double, Double)]) -> Bool
- 37.63ms /Users/konrad/KDTree/Pod/Classes/KDTree+RangeSearch.swift:14:73 (closure)
- 35.37ms /Users/konrad/KDTree/Pod/Classes/KDTree+RangeSearch.swift:14:73 (closure)
- 32.47ms /Users/konrad/KDTree/Pod/Classes/KDTree+CustomStringConvertible.swift:14:36 get {}
- 25.15ms /Users/konrad/KDTree/Pod/Classes/KDTree+CustomStringConvertible.swift:14:36 get {}
- 15.60ms /Users/konrad/KDTree/Pod/Classes/CGPoint+KDTreePoint.swift:14:17 public func kdDimension(_ dimension: Int) -> Double
- 15.46ms /Users/konrad/KDTree/Pod/Classes/CGPoint+KDTreePoint.swift:14:17 public func kdDimension(_ dimension: Int) -> Double
- 14.05ms /Users/konrad/KDTree/Pod/Classes/KDTree+Sequence.swift:13:17 public func makeIterator() -> AnyIterator
- 13.18ms /Users/konrad/KDTree/Pod/Classes/KDTree+Sequence.swift:21:32 (closure)
- 12.81ms /Users/konrad/KDTree/Pod/Classes/KDTree+NearestNeighbour.swift:25:22 fileprivate func nearest(toElement searchElement: Element, bestValue: Element?, bestDistance: Double) -> (bestValue: Element?, bestDistance: Double)
- 12.70ms /Users/konrad/KDTree/Pod/Classes/KDTree+NearestNeighbour.swift:25:22 fileprivate func nearest(toElement searchElement: Element, bestValue: Element?, bestDistance: Double) -> (bestValue: Element?, bestDistance: Double)
- 10.24ms /Users/konrad/KDTree/Pod/Classes/KDTree.swift:153:18 private func findBestReplacement(_ dimOfCut: Int, direction: ReplacementDirection) -> (KDTree, Element?) [ Commit: https://github.com/Bersaelor/KDTree/commit/4f10cd5a3348cc309f0a0681ae0f9a662557dd1d ]