kelvenbit / flamegraphs-instruments Goto Github PK
View Code? Open in Web Editor NEWA command-line tool for generating interactive SVG flame graphs based on Xcode Instruments traces files.
License: MIT License
A command-line tool for generating interactive SVG flame graphs based on Xcode Instruments traces files.
License: MIT License
When generating a flame graph, the result is sometimes invalid SVG, as reported by e.g. Safari:
This page contains the following errors:
error on line 340 at column 104: EntityRef: expecting ';'
Line 340 is:
<text x="13.00" y="285.50" font-family="Verdana" font-size="12">closure #1 in Collection.map<A>..</text>
Looking at the result, it seems that closure #1 in Collection.map<A>(reusing:reusePredicate:make:configure:)
got converted to a HTML-safe string, but the entity for >
was then broken up by truncation.
Here is a sample stack that produces invalid SVG:
Weight Self Weight Symbol Name
6.45 s 100.0% 0 s Main Thread 0x6d74e1
6.45 s 100.0% 0 s main
6.45 s 100.0% 0 s static AppDelegate.$main()
6.45 s 100.0% 664.00 ms specialized static NSApplicationDelegate.main()
2.04 s 31.7% 0 s @objc CommitCellView.mouseDown(with:)
2.04 s 31.7% 0 s CommitCellView.mouseDown(with:)
2.04 s 31.7% 0 s TimelineViewController.tableViewSelectionDidChange(_:)
2.04 s 31.7% 0 s specialized RepositoryViewController.timelineView(_:didSelect:)
2.04 s 31.7% 0 s EditorViewController.subjectIdentifier.setter
2.04 s 31.7% 0 s EditorViewController.subjectIdentifier.didset
2.04 s 31.7% 0 s EditorViewController.refreshView()
2.04 s 31.5% 0 s EditorFileDetailsViewController.subject.didset
2.04 s 31.5% 0 s EditorFileDetailsViewController.refreshChildren()
2.03 s 31.4% 0 s Collection.map<A>(reusing:reusePredicate:make:configure:)
2.03 s 31.4% 0 s partial apply for closure #1 in Collection.map<A>(reusing:reusePredicate:make:configure:)
2.03 s 31.4% 0 s closure #1 in Collection.map<A>(reusing:reusePredicate:make:configure:)
2.03 s 31.4% 0 s partial apply for closure #3 in EditorFileDetailsViewController.refreshChildren()
2.03 s 31.4% 0 s closure #3 in EditorFileDetailsViewController.refreshChildren()
1.79 s 27.7% 0 s EditorSingleFileDetailsViewController.viewFile.didset
1.79 s 27.7% 0 s EditorSingleFileDetailsViewController.refreshView()
1.51 s 23.4% 1.00 ms Collection.map<A>(reusing:reusePredicate:make:configure:)
1.51 s 23.4% 0 s partial apply for closure #1 in Collection.map<A>(reusing:reusePredicate:make:configure:)
1.51 s 23.4% 0 s closure #1 in Collection.map<A>(reusing:reusePredicate:make:configure:)
1.47 s 22.8% 0 s partial apply for closure #1 in closure #1 in Collection.map<A>(reusing:reusePredicate:make:configure:)
1.47 s 22.8% 1.00 ms closure #1 in closure #1 in Collection.map<A>(reusing:reusePredicate:make:configure:)
1.47 s 22.8% 0 s specialized thunk for @escaping @callee_guaranteed (@guaranteed EditorHunkView, @guaranteed FileDeltaHunk) -> (@unowned Bool, @error @owned Error)
1.47 s 22.8% 20.00 ms closure #2 in EditorSingleFileDetailsViewController.refreshView()
1.40 s 21.6% 789.00 ms FileDeltaHunk.text.getter
410.00 ms 6.3% 0 s FileDeltaHunk.allLines.getter
410.00 ms 6.3% 0 s specialized Array.init<A>(_:)
410.00 ms 6.3% 0 s specialized protocol witness for Sequence._copyToContiguousArray() in conformance FlattenSequence<A>
410.00 ms 6.3% 0 s specialized Sequence._copyToContiguousArray()
255.00 ms 3.9% 123.00 ms specialized _copySequenceToContiguousArray<A>(_:)
94.00 ms 1.4% 94.00 ms specialized UnsafeMutablePointer.initialize(to:)
22.00 ms 0.3% 0 s specialized protocol witness for IteratorProtocol.next() in conformance FlattenSequence<A>.Iterator
22.00 ms 0.3% 0 s specialized FlattenSequence.Iterator.next()
22.00 ms 0.3% 0 s specialized protocol witness for IteratorProtocol.next() in conformance IndexingIterator<A>
22.00 ms 0.3% 0 s specialized protocol witness for Collection.subscript.read in conformance [A]
22.00 ms 0.3% 0 s specialized Array.subscript.read
22.00 ms 0.3% 0 s specialized Array.subscript.getter
22.00 ms 0.3% 22.00 ms specialized Array._getElement(_:wasNativeTypeChecked:matchingSubscriptCheck:)
7.00 ms 0.1% 7.00 ms DYLD-STUB$$swift_bridgeObjectRetain
6.00 ms 0.0% 0 s specialized protocol witness for IteratorProtocol.next() in conformance FlattenSequence<A>.Iterator
6.00 ms 0.0% 0 s specialized FlattenSequence.Iterator.next()
6.00 ms 0.0% 0 s specialized protocol witness for IteratorProtocol.next() in conformance IndexingIterator<A>
6.00 ms 0.0% 0 s specialized protocol witness for Collection.endIndex.getter in conformance [A]
6.00 ms 0.0% 0 s specialized Array.endIndex.getter
6.00 ms 0.0% 0 s specialized Array._getCount()
6.00 ms 0.0% 6.00 ms specialized _ArrayBuffer.immutableCount.getter
2.00 ms 0.0% 2.00 ms DYLD-STUB$$swift_retain
1.00 ms 0.0% 1.00 ms specialized _ContiguousArrayBuffer.init(_uninitializedCount:minimumCapacity:)
155.00 ms 2.4% 155.00 ms specialized UnsafeMutablePointer.moveInitialize(from:count:)
129.00 ms 2.0% 0 s specialized Collection.map<A>(_:)
73.00 ms 1.1% 67.00 ms specialized implicit closure #1 in FileDeltaHunk.text.getter
6.00 ms 0.0% 6.00 ms DYLD-STUB$$swift_bridgeObjectRetain
55.00 ms 0.8% 19.00 ms specialized Collection.map<A>(_:)
28.00 ms 0.4% 0 s specialized ContiguousArray.append(_:)
25.00 ms 0.3% 6.00 ms specialized ContiguousArray._appendElementAssumeUniqueAndCapacity(_:newElement:)
19.00 ms 0.2% 19.00 ms specialized UnsafeMutablePointer.initialize(to:)
3.00 ms 0.0% 3.00 ms specialized ContiguousArray._reserveCapacityAssumingUniqueBuffer(oldCount:)
5.00 ms 0.0% 0 s specialized protocol witness for Collection.subscript.read in conformance ArraySlice<A>
5.00 ms 0.0% 0 s specialized ArraySlice.subscript.read
5.00 ms 0.0% 0 s specialized ArraySlice.subscript.getter
3.00 ms 0.0% 0 s specialized ArraySlice._checkSubscript(_:wasNativeTypeChecked:)
3.00 ms 0.0% 3.00 ms specialized _SliceBuffer._checkValidSubscript(_:)
2.00 ms 0.0% 0 s specialized ArraySlice._getElement(_:wasNativeTypeChecked:matchingSubscriptCheck:)
2.00 ms 0.0% 2.00 ms specialized _SliceBuffer.getElement(_:)
3.00 ms 0.0% 3.00 ms specialized ContiguousArray.append(_:)
1.00 ms 0.0% 0 s specialized ContiguousArray._reserveCapacityImpl(minimumCapacity:growForAppend:)
1.00 ms 0.0% 0 s specialized ContiguousArray._createNewBuffer(bufferIsUnique:minimumCapacity:growForAppend:)
1.00 ms 0.0% 0 s specialized _ContiguousArrayBuffer._consumeAndCreateNew(bufferIsUnique:minimumCapacity:growForAppend:)
1.00 ms 0.0% 1.00 ms specialized _ContiguousArrayBuffer.init(_uninitializedCount:minimumCapacity:)
59.00 ms 0.9% 54.00 ms destroy for FileDeltaHunk.Line
5.00 ms 0.0% 5.00 ms DYLD-STUB$$swift_bridgeObjectRelease
8.00 ms 0.1% 8.00 ms DYLD-STUB$$swift_release
1.00 ms 0.0% 0 s specialized Collection.dropLast(_:)
1.00 ms 0.0% 1.00 ms protocol witness for Collection.count.getter in conformance String
56.00 ms 0.8% 56.00 ms static String.+ infix(_:_:)
41.00 ms 0.6% 0 s closure #4 in EditorSingleFileDetailsViewController.refreshView()
41.00 ms 0.6% 0 s EditorHunkView.hunk.setter
41.00 ms 0.6% 21.00 ms EditorHunkView.hunk.didset
17.00 ms 0.2% 10.00 ms FileDeltaHunk.text.getter
6.00 ms 0.0% 0 s FileDeltaHunk.allLines.getter
6.00 ms 0.0% 0 s specialized Array.init<A>(_:)
6.00 ms 0.0% 0 s specialized protocol witness for Sequence._copyToContiguousArray() in conformance FlattenSequence<A>
6.00 ms 0.0% 0 s specialized Sequence._copyToContiguousArray()
5.00 ms 0.0% 1.00 ms specialized _copySequenceToContiguousArray<A>(_:)
3.00 ms 0.0% 3.00 ms specialized UnsafeMutablePointer.initialize(to:)
1.00 ms 0.0% 0 s specialized protocol witness for IteratorProtocol.next() in conformance FlattenSequence<A>.Iterator
1.00 ms 0.0% 0 s specialized FlattenSequence.Iterator.next()
1.00 ms 0.0% 0 s specialized protocol witness for IteratorProtocol.next() in conformance IndexingIterator<A>
1.00 ms 0.0% 0 s specialized protocol witness for Collection.endIndex.getter in conformance [A]
1.00 ms 0.0% 0 s specialized Array.endIndex.getter
1.00 ms 0.0% 0 s specialized Array._getCount()
1.00 ms 0.0% 1.00 ms specialized _ArrayBuffer.immutableCount.getter
1.00 ms 0.0% 1.00 ms specialized UnsafeMutablePointer.moveInitialize(from:count:)
1.00 ms 0.0% 1.00 ms destroy for FileDeltaHunk.Line
3.00 ms 0.0% 0 s specialized Collection.map<A>(_:)
3.00 ms 0.0% 0 s specialized protocol witness for Collection.subscript.read in conformance [A]
3.00 ms 0.0% 0 s specialized Array.subscript.read
3.00 ms 0.0% 0 s specialized Array.subscript.getter
3.00 ms 0.0% 0 s specialized Array._getElement(_:wasNativeTypeChecked:matchingSubscriptCheck:)
3.00 ms 0.0% 3.00 ms specialized _ArrayBuffer._getElementSlowPath(_:)
144.00 ms 2.2% 144.00 ms NSView.setSubviews(_:configure:)
129.00 ms 2.0% 0 s EditorSingleFileDetailsViewController.hunks.getter
129.00 ms 2.0% 0 s EditorSingleFileDetailsViewController.computeHunks()
112.00 ms 1.7% 2.00 ms static FileDeltaHunk.unifiedHunks(forStage:workdir:within:)
87.00 ms 1.3% 0 s static FileDeltaHunk.unifiedHunks(forStageLines:workdirLines:)
83.00 ms 1.2% 0 s static FileDeltaHunk.hunks(from:)
83.00 ms 1.2% 0 s specialized static FileDeltaHunk.hunks(from:)
60.00 ms 0.9% 0 s specialized Collection.map<A>(_:)
60.00 ms 0.9% 0 s closure #2 in static FileDeltaHunk.hunks(from:)
60.00 ms 0.9% 0 s Sequence.groupingContinuously<A>(by:)
50.00 ms 0.7% 16.00 ms Sequence.split(betweenElementsMatching:)
32.00 ms 0.4% 0 s partial apply for closure #1 in Sequence.groupingContinuously<A>(by:)
32.00 ms 0.4% 28.00 ms closure #1 in Sequence.groupingContinuously<A>(by:)
1.00 ms 0.0% 0 s key path getter for FileDeltaHunk.Line.stageStatus : FileDeltaHunk.Line
1.00 ms 0.0% 0 s FileDeltaHunk.Line.stageStatus.getter
1.00 ms 0.0% 0 s FileDeltaHunk.Line.isOrphanedWorkdirChange.getter
1.00 ms 0.0% 0 s FileDeltaHunk.Line.matchingRevertingWorkdirLine.getter
1.00 ms 0.0% 1.00 ms Boxed.wrappedValue.getter
1.00 ms 0.0% 1.00 ms initializeWithCopy for FileDeltaHunk.Line
1.00 ms 0.0% 1.00 ms initializeBufferWithCopyOfBuffer for FileDeltaHunk.Line
1.00 ms 0.0% 1.00 ms __swift_memcpy1_1
1.00 ms 0.0% 1.00 ms destroy for FileDeltaHunk.Line
1.00 ms 0.0% 1.00 ms storeEnumTagSinglePayload for FileDeltaHunk.Line
10.00 ms 0.1% 0 s specialized Array.append(_:)
5.00 ms 0.0% 4.00 ms initializeWithCopy for FileDeltaHunk.Line
1.00 ms 0.0% 1.00 ms DYLD-STUB$$swift_retain
4.00 ms 0.0% 3.00 ms specialized Array.append(_:)
1.00 ms 0.0% 1.00 ms DYLD-STUB$$swift_release
1.00 ms 0.0% 1.00 ms specialized Array._appendElementAssumeUniqueAndCapacity(_:newElement:)
16.00 ms 0.2% 13.00 ms Sequence.split(betweenElementsMatching:)
3.00 ms 0.0% 3.00 ms initializeWithCopy for FileDeltaHunk.Line
6.00 ms 0.0% 0 s specialized Array.append(_:)
3.00 ms 0.0% 1.00 ms specialized Array._appendElementAssumeUniqueAndCapacity(_:newElement:)
2.00 ms 0.0% 2.00 ms _ArrayBuffer.mutableFirstElementAddress.getter
2.00 ms 0.0% 1.00 ms specialized Array.append(_:)
1.00 ms 0.0% 1.00 ms DYLD-STUB$$Array._makeUniqueAndReserveCapacityIfNotUnique()
1.00 ms 0.0% 1.00 ms initializeWithCopy for FileDeltaHunk.Line
1.00 ms 0.0% 1.00 ms destroy for FileDeltaHunk.Line
4.00 ms 0.0% 0 s static FileDeltaHunk.unify(stageLines:workdirLines:)
4.00 ms 0.0% 2.00 ms specialized static FileDeltaHunk.unify(stageLines:workdirLines:)
2.00 ms 0.0% 0 s specialized Array.append(_:)
2.00 ms 0.0% 0 s specialized Array._reserveCapacityAssumingUniqueBuffer(oldCount:)
2.00 ms 0.0% 0 s specialized Array._createNewBuffer(bufferIsUnique:minimumCapacity:growForAppend:)
1.00 ms 0.0% 1.00 ms specialized UnsafeMutablePointer.moveInitialize(from:count:)
1.00 ms 0.0% 1.00 ms specialized _ArrayBuffer._consumeAndCreateNew(bufferIsUnique:minimumCapacity:growForAppend:)
21.00 ms 0.3% 0 s specialized Optional.map<A>(_:)
21.00 ms 0.3% 0 s closure #1 in static FileDeltaHunk.unifiedHunks(forStage:workdir:within:)
21.00 ms 0.3% 0 s -[GCDiffDelta makePatch:error:]
21.00 ms 0.3% 0 s git_patch_generated_from_diff
21.00 ms 0.3% 0 s patch_generated_create
12.00 ms 0.1% 0 s patch_generated_load
12.00 ms 0.1% 0 s git_diff_file_content__load
12.00 ms 0.1% 0 s diff_file_content_load_blob
12.00 ms 0.1% 0 s git_object_lookup_prefix
12.00 ms 0.1% 0 s git_odb_read
12.00 ms 0.1% 0 s odb_read_1
7.00 ms 0.1% 0 s git_odb_hash
7.00 ms 0.1% 0 s git_odb__hashobj
7.00 ms 0.1% 0 s git_hash_vec
7.00 ms 0.1% 0 s git_hash_sha1_update
7.00 ms 0.1% 0 s SHA1DCUpdate
4.00 ms 0.0% 4.00 ms sha1_compression_states
3.00 ms 0.0% 3.00 ms ubc_check
5.00 ms 0.0% 0 s pack_backend__read
5.00 ms 0.0% 0 s git_packfile_unpack
5.00 ms 0.0% 0 s packfile_unpack_compressed
5.00 ms 0.0% 5.00 ms git_zstream_get_output_chunk
9.00 ms 0.1% 0 s git_xdiff
9.00 ms 0.1% 0 s xdl_diff
6.00 ms 0.0% 0 s xdl_do_diff
6.00 ms 0.0% 0 s xdl_prepare_env
5.00 ms 0.0% 1.00 ms xdl_prepare_ctx
2.00 ms 0.0% 2.00 ms xdl_hash_record
2.00 ms 0.0% 1.00 ms xdl_classify_record
1.00 ms 0.0% 1.00 ms xdl_recmatch
1.00 ms 0.0% 1.00 ms xdl_cha_free
3.00 ms 0.0% 0 s xdl_emit_record
3.00 ms 0.0% 0 s xdl_emit_diffrec
3.00 ms 0.0% 0 s git_xdiff_cb
3.00 ms 0.0% 3.00 ms diff_update_lines
2.00 ms 0.0% 1.00 ms destroy for FileDeltaHunk.Line
1.00 ms 0.0% 1.00 ms DYLD-STUB$$swift_bridgeObjectRelease
17.00 ms 0.2% 0 s static FileDeltaHunk.lines(for:isStage:)
17.00 ms 0.2% 0 s -[GCDiffPatch enumerateUsingBeginHunkHandler:lineHandler:endHunkHandler:]
17.00 ms 0.2% 1.00 ms thunk for @escaping @callee_guaranteed (@unowned GCLineDiffChange, @unowned UInt, @unowned UInt, @unowned UnsafePointer<Int8>?, @unowned UInt) -> ()
15.00 ms 0.2% 9.00 ms closure #1 in static FileDeltaHunk.lines(for:isStage:)
2.00 ms 0.0% 0 s specialized Optional.map<A>(_:)
2.00 ms 0.0% 0 s closure #1 in closure #1 in static FileDeltaHunk.lines(for:isStage:)
2.00 ms 0.0% 0 s Data.init(bytes:count:)
2.00 ms 0.0% 0 s Data._Representation.init(_:)
2.00 ms 0.0% 0 s Data.InlineSlice.init(_:)
2.00 ms 0.0% 2.00 ms specialized Data.InlineSlice.init(_:)
2.00 ms 0.0% 0 s FileDeltaHunk.Line.init(text:oldNumber:newNumber:staged:change:projectedWorkdirNumber:matchingRevertingWorkdirLine:)
2.00 ms 0.0% 0 s property wrapper backing initializer of FileDeltaHunk.Line.matchingRevertingWorkdirLine
2.00 ms 0.0% 1.00 ms Boxed.__allocating_init(wrappedValue:)
1.00 ms 0.0% 0 s Boxed.init(wrappedValue:)
1.00 ms 0.0% 0 s specialized Boxed.init(wrappedValue:)
1.00 ms 0.0% 1.00 ms DYLD-STUB$$swift_beginAccess
1.00 ms 0.0% 0 s specialized Array.append(_:)
1.00 ms 0.0% 0 s specialized Array._appendElementAssumeUniqueAndCapacity(_:newElement:)
1.00 ms 0.0% 1.00 ms specialized UnsafeMutablePointer.initialize(to:)
1.00 ms 0.0% 0 s specialized Array.append(_:)
1.00 ms 0.0% 0 s specialized Array._reserveCapacityAssumingUniqueBuffer(oldCount:)
1.00 ms 0.0% 0 s specialized Array._createNewBuffer(bufferIsUnique:minimumCapacity:growForAppend:)
1.00 ms 0.0% 1.00 ms specialized _ArrayBuffer._consumeAndCreateNew(bufferIsUnique:minimumCapacity:growForAppend:)
1.00 ms 0.0% 1.00 ms Boxed.__allocating_init(wrappedValue:)
4.00 ms 0.0% 0 s FileButton.fileURL.setter
4.00 ms 0.0% 4.00 ms FileButton.refresh()
238.00 ms 3.6% 0 s EditorSingleFileDetailsViewController.fileActionMenu.didset
238.00 ms 3.6% 0 s EditorSingleFileDetailsViewController.refreshView()
234.00 ms 3.6% 0 s Collection.map<A>(reusing:reusePredicate:make:configure:)
234.00 ms 3.6% 0 s partial apply for closure #1 in Collection.map<A>(reusing:reusePredicate:make:configure:)
234.00 ms 3.6% 0 s closure #1 in Collection.map<A>(reusing:reusePredicate:make:configure:)
117.00 ms 1.8% 0 s closure #4 in EditorSingleFileDetailsViewController.refreshView()
117.00 ms 1.8% 0 s EditorHunkView.hunk.setter
117.00 ms 1.8% 0 s EditorHunkView.hunk.didset
110.00 ms 1.7% 0 s static String.== infix(_:_:)
110.00 ms 1.7% 110.00 ms _stringCompare(_:_:expecting:)
6.00 ms 0.0% 3.00 ms FileDeltaHunk.text.getter
2.00 ms 0.0% 0 s FileDeltaHunk.allLines.getter
2.00 ms 0.0% 0 s specialized Array.init<A>(_:)
2.00 ms 0.0% 0 s specialized protocol witness for Sequence._copyToContiguousArray() in conformance FlattenSequence<A>
2.00 ms 0.0% 0 s specialized Sequence._copyToContiguousArray()
2.00 ms 0.0% 2.00 ms specialized UnsafeMutablePointer.moveInitialize(from:count:)
1.00 ms 0.0% 0 s specialized Collection.map<A>(_:)
1.00 ms 0.0% 0 s specialized Collection.map<A>(_:)
1.00 ms 0.0% 0 s specialized ContiguousArray.append(_:)
1.00 ms 0.0% 0 s specialized ContiguousArray._appendElementAssumeUniqueAndCapacity(_:newElement:)
1.00 ms 0.0% 1.00 ms specialized UnsafeMutablePointer.initialize(to:)
1.00 ms 0.0% 1.00 ms static String.+ infix(_:_:)
117.00 ms 1.8% 0 s partial apply for closure #1 in closure #1 in Collection.map<A>(reusing:reusePredicate:make:configure:)
117.00 ms 1.8% 0 s closure #1 in closure #1 in Collection.map<A>(reusing:reusePredicate:make:configure:)
117.00 ms 1.8% 0 s specialized thunk for @escaping @callee_guaranteed (@guaranteed EditorHunkView, @guaranteed FileDeltaHunk) -> (@unowned Bool, @error @owned Error)
117.00 ms 1.8% 0 s closure #2 in EditorSingleFileDetailsViewController.refreshView()
110.00 ms 1.7% 0 s static String.== infix(_:_:)
110.00 ms 1.7% 110.00 ms _stringCompare(_:_:expecting:)
7.00 ms 0.1% 4.00 ms FileDeltaHunk.text.getter
2.00 ms 0.0% 0 s FileDeltaHunk.allLines.getter
2.00 ms 0.0% 0 s specialized Array.init<A>(_:)
2.00 ms 0.0% 0 s specialized protocol witness for Sequence._copyToContiguousArray() in conformance FlattenSequence<A>
2.00 ms 0.0% 0 s specialized Sequence._copyToContiguousArray()
1.00 ms 0.0% 0 s specialized _copySequenceToContiguousArray<A>(_:)
1.00 ms 0.0% 1.00 ms specialized UnsafeMutablePointer.initialize(to:)
1.00 ms 0.0% 1.00 ms specialized UnsafeMutablePointer.moveInitialize(from:count:)
1.00 ms 0.0% 0 s specialized Collection.map<A>(_:)
1.00 ms 0.0% 0 s specialized Collection.map<A>(_:)
1.00 ms 0.0% 0 s specialized ContiguousArray.append(_:)
1.00 ms 0.0% 0 s specialized ContiguousArray._appendElementAssumeUniqueAndCapacity(_:newElement:)
1.00 ms 0.0% 1.00 ms specialized UnsafeMutablePointer.initialize(to:)
4.00 ms 0.0% 0 s FileButton.fileURL.setter
4.00 ms 0.0% 4.00 ms FileButton.refresh()
4.00 ms 0.0% 1.00 ms EditorFileDetailsViewController.refreshView()
3.00 ms 0.0% 0 s @objc EditorFileDetailsViewController.tableView(_:heightOfRow:)
3.00 ms 0.0% 0 s EditorFileDetailsViewController.tableView(_:heightOfRow:)
3.00 ms 0.0% 0 s specialized EditorFileDetailsViewController.tableView(_:heightOfRow:)
3.00 ms 0.0% 0 s specialized Collection.map<A>(_:)
2.00 ms 0.0% 0 s key path getter for FileDeltaHunk.allLines : FileDeltaHunk
2.00 ms 0.0% 0 s FileDeltaHunk.allLines.getter
2.00 ms 0.0% 0 s specialized Array.init<A>(_:)
2.00 ms 0.0% 0 s specialized protocol witness for Sequence._copyToContiguousArray() in conformance FlattenSequence<A>
2.00 ms 0.0% 0 s specialized Sequence._copyToContiguousArray()
1.00 ms 0.0% 1.00 ms specialized UnsafeMutablePointer.moveInitialize(from:count:)
1.00 ms 0.0% 0 s specialized _copySequenceToContiguousArray<A>(_:)
1.00 ms 0.0% 1.00 ms specialized UnsafeMutablePointer.initialize(to:)
1.00 ms 0.0% 1.00 ms destroy for FileDeltaHunk.Line
1.00 ms 0.0% 0 s @objc EditorSingleFileDetailsViewController.__ivar_destroyer
1.00 ms 0.0% 1.00 ms 0x100f28fe0
5.00 ms 0.0% 0 s EditorViewController.pairedDeltas(for:)
5.00 ms 0.0% 0 s specialized EditorViewController.pairedDeltas(for:)
5.00 ms 0.0% 0 s DoughChanges.stageToWorkdirDiff(options:maxInterHunkLines:maxContextLines:)
5.00 ms 0.0% 0 s DoughChanges.stageWithoutConflictsAsCommit.getter
3.00 ms 0.0% 0 s -[GCRepository(Bare) createCommitFromIndex:withParents:message:error:]
3.00 ms 0.0% 0 s -[GCRepository(Bare_Private) createCommitFromIndex:withParents:count:author:message:error:]
2.00 ms 0.0% 0 s git_tree__write_index
2.00 ms 0.0% 0 s write_tree
2.00 ms 0.0% 0 s write_tree
2.00 ms 0.0% 0 s write_tree
1.00 ms 0.0% 0 s append_entry
1.00 ms 0.0% 0 s check_entry
1.00 ms 0.0% 0 s git_object__is_valid
1.00 ms 0.0% 0 s git_odb_read_header
1.00 ms 0.0% 0 s git_odb__read_header_or_object
1.00 ms 0.0% 0 s odb_read_header_1
1.00 ms 0.0% 0 s pack_backend__read_header
1.00 ms 0.0% 0 s git_packfile_resolve_header
1.00 ms 0.0% 0 s git_delta_read_header_fromstream
1.00 ms 0.0% 0 s git_packfile_stream_read
1.00 ms 0.0% 1.00 ms git_zstream_get_output_chunk
1.00 ms 0.0% 0 s write_tree
1.00 ms 0.0% 0 s write_tree
1.00 ms 0.0% 0 s write_tree
1.00 ms 0.0% 0 s git_treebuilder__write_with_buffer
1.00 ms 0.0% 0 s git_odb_hash
1.00 ms 0.0% 0 s git_odb__hashobj
1.00 ms 0.0% 0 s git_hash_vec
1.00 ms 0.0% 0 s git_hash_sha1_final
1.00 ms 0.0% 0 s SHA1DCFinal
1.00 ms 0.0% 1.00 ms sha1_compression_states
1.00 ms 0.0% 0 s -[GCRepository(Bare_Private) createCommitFromTree:withParents:count:author:message:error:]
1.00 ms 0.0% 0 s git_commit_create
1.00 ms 0.0% 0 s git_commit__create_internal
1.00 ms 0.0% 0 s git_odb_write
1.00 ms 0.0% 0 s loose_backend__write
1.00 ms 0.0% 0 s git_filebuf_commit
1.00 ms 0.0% 0 s flush_buffer
1.00 ms 0.0% 0 s write_deflate
1.00 ms 0.0% 1.00 ms p_write
2.00 ms 0.0% 0 s DoughChanges.stageWithoutConflicts.getter
2.00 ms 0.0% 0 s closure #1 in GCIndex.enumerateFilesThrowing(_:)
2.00 ms 0.0% 0 s -[GCIndex enumerateFilesUsingBlock:]
1.00 ms 0.0% 1.00 ms GCGitOIDToSHA1
1.00 ms 0.0% 1.00 ms thunk for @escaping @callee_guaranteed (@guaranteed String?, @unowned GCFileMode, @guaranteed String?, @unowned UnsafeMutablePointer<ObjCBool>?) -> ()
2.00 ms 0.0% 0 s EditorFileOverviewViewController.subject.didset
2.00 ms 0.0% 0 s specialized EditorFileOverviewViewController.subject.didset
2.00 ms 0.0% 2.00 ms EditorFileOverviewViewController.refreshView()
1.00 ms 0.0% 0 s EditorViewController.pairedDeltas(for:)
1.00 ms 0.0% 0 s specialized EditorViewController.pairedDeltas(for:)
1.00 ms 0.0% 0 s DoughChanges.stageDiff(options:maxInterHunkLines:maxContextLines:)
1.00 ms 0.0% 0 s -[GCRepository(GCDiff) diffIndex:withCommit:filePattern:options:maxInterHunkLines:maxContextLines:error:]
1.00 ms 0.0% 0 s -[GCRepository(GCDiff) _diffWithType:filePattern:options:maxInterHunkLines:maxContextLines:error:block:]
1.00 ms 0.0% 0 s git_diff_tree_to_index
1.00 ms 0.0% 0 s git_diff__from_iterators
1.00 ms 0.0% 0 s handle_matched_item
1.00 ms 0.0% 0 s git_iterator_advance
1.00 ms 0.0% 0 s tree_iterator_advance
1.00 ms 0.0% 0 s tree_iterator_frame_push
1.00 ms 0.0% 1.00 ms tree_iterator_frame_init
1.00 ms 0.0% 0 s EditorStatusViewController.subject.didset
1.00 ms 0.0% 1.00 ms EditorStatusViewController.refreshView()
1.00 ms 0.0% 0 s EditorMetadataViewController.subject.didset
1.00 ms 0.0% 1.00 ms EditorMetadataViewController.refreshView()
1.94 s 30.1% 0 s @objc EditorHunkView.layout()
1.94 s 30.1% 1.00 ms EditorHunkView.layout()
1.78 s 27.5% 0 s EditorHunkTextView.paragraphFirstLineRects.getter
1.78 s 27.5% 205.00 ms EditorHunkTextView.computeParagraphFirstLineRects()
1.54 s 23.9% 2.00 ms @objc EditorHunkView.textLayoutManager(_:textLayoutFragmentFor:in:)
1.54 s 23.9% 18.00 ms EditorHunkView.textLayoutManager(_:textLayoutFragmentFor:in:)
1.47 s 22.8% 502.00 ms specialized Collection.firstIndex(where:)
507.00 ms 7.8% 0 s specialized protocol witness for Collection.formIndex(after:) in conformance [A]
507.00 ms 7.8% 507.00 ms specialized Array.formIndex(after:)
462.00 ms 7.1% 0 s specialized protocol witness for Collection.subscript.read in conformance [A]
462.00 ms 7.1% 0 s specialized Array.subscript.read
462.00 ms 7.1% 0 s specialized Array.subscript.getter
462.00 ms 7.1% 462.00 ms specialized Array._getElement(_:wasNativeTypeChecked:matchingSubscriptCheck:)
46.00 ms 0.7% 9.00 ms HunkTextLayoutFragment.__allocating_init(textElement:range:)
35.00 ms 0.5% 35.00 ms HunkTextLayoutFragment.init(textElement:range:)
2.00 ms 0.0% 0 s @objc HunkTextLayoutFragment.init(textElement:range:)
2.00 ms 0.0% 2.00 ms HunkTextLayoutFragment.init(textElement:range:)
2.00 ms 0.0% 2.00 ms protocol witness for static Equatable.== infix(_:_:) in conformance FileDeltaHunk.Line.StageStatus
1.00 ms 0.0% 1.00 ms outlined init with take of CGRect?
1.00 ms 0.0% 0 s outlined release of FileDeltaHunk.Line?
1.00 ms 0.0% 1.00 ms outlined consume of FileDeltaHunk.Line?
1.00 ms 0.0% 1.00 ms HunkTextLayoutFragment.change.setter
1.00 ms 0.0% 0 s FileDeltaHunk.line(at:)
1.00 ms 0.0% 0 s Array.subscript.getter
1.00 ms 0.0% 1.00 ms initializeWithCopy for FileDeltaHunk.Line
1.00 ms 0.0% 1.00 ms type metadata accessor for HunkTextLayoutFragment
29.00 ms 0.4% 0 s thunk for @escaping @callee_guaranteed (@guaranteed NSTextLayoutFragment) -> (@unowned Bool)
29.00 ms 0.4% 0 s thunk for @callee_guaranteed (@guaranteed NSTextLayoutFragment) -> (@unowned Bool)
29.00 ms 0.4% 0 s partial apply for closure #1 in EditorHunkTextView.computeParagraphFirstLineRects()
29.00 ms 0.4% 0 s closure #1 in EditorHunkTextView.computeParagraphFirstLineRects()
22.00 ms 0.3% 0 s @objc HunkTextLayoutFragment.renderingSurfaceBounds.getter
22.00 ms 0.3% 21.00 ms HunkTextLayoutFragment.renderingSurfaceBounds.getter
1.00 ms 0.0% 1.00 ms HunkTextLayoutFragment.renderingSurfaceBounds.getter
5.00 ms 0.0% 5.00 ms textViewRect #1 (fromFragmentRect:) in closure #1 in EditorHunkTextView.computeParagraphFirstLineRects()
2.00 ms 0.0% 2.00 ms EditorHunkTextView.cachedParagraphFirstLineRects.modify
164.00 ms 2.5% 0 s @objc EditorHunkTextView.frame.setter
164.00 ms 2.5% 0 s EditorHunkTextView.frame.setter
164.00 ms 2.5% 0 s AutomaticHeightTextView.frame.didset
164.00 ms 2.5% 0 s AutomaticHeightTextView.invalidateIntrinsicContentSizeIfNeeded()
164.00 ms 2.5% 0 s static String.== infix(_:_:)
164.00 ms 2.5% 164.00 ms _stringCompare(_:_:expecting:)
1.62 s 25.1% 3.00 ms @objc EditorHunkGutterView.draw(_:)
1.60 s 24.8% 658.00 ms EditorHunkGutterView.draw(_:)
753.00 ms 11.6% 0 s NSAttributedString.__allocating_init(string:attributes:)
753.00 ms 11.6% 751.00 ms @nonobjc NSAttributedString.init(string:attributes:)
2.00 ms 0.0% 2.00 ms DYLD-STUB$$objc_msgSend
106.00 ms 1.6% 3.00 ms specialized Dictionary.init(dictionaryLiteral:)
86.00 ms 1.3% 4.00 ms specialized __RawDictionaryStorage.find<A>(_:)
82.00 ms 1.2% 0 s protocol witness for Hashable._rawHashValue(seed:) in conformance NSAttributedStringKey
82.00 ms 1.2% 0 s specialized _SwiftNewtypeWrapper<>._rawHashValue(seed:)
49.00 ms 0.7% 0 s protocol witness for RawRepresentable.rawValue.getter in conformance NSAttributedStringKey
49.00 ms 0.7% 48.00 ms NSAttributedStringKey.rawValue.getter
1.00 ms 0.0% 1.00 ms DYLD-STUB$$static String._unconditionallyBridgeFromObjectiveC(_:)
33.00 ms 0.5% 0 s protocol witness for Hashable._rawHashValue(seed:) in conformance String
33.00 ms 0.5% 30.00 ms specialized Hashable._rawHashValue(seed:)
2.00 ms 0.0% 2.00 ms DYLD-STUB$$Hasher.init(_seed:)
1.00 ms 0.0% 1.00 ms DYLD-STUB$$Hasher._finalize()
9.00 ms 0.1% 3.00 ms specialized __RawDictionaryStorage.find<A>(_:hashValue:)
6.00 ms 0.0% 0 s protocol witness for static Equatable.== infix(_:_:) in conformance NSAttributedStringKey
6.00 ms 0.0% 0 s specialized == infix<A>(_:_:)
4.00 ms 0.0% 0 s protocol witness for RawRepresentable.rawValue.getter in conformance NSAttributedStringKey
4.00 ms 0.0% 4.00 ms NSAttributedStringKey.rawValue.getter
2.00 ms 0.0% 0 s protocol witness for static Equatable.== infix(_:_:) in conformance String
2.00 ms 0.0% 0 s static String.== infix(_:_:)
2.00 ms 0.0% 2.00 ms _stringCompare(_:_:expecting:)
7.00 ms 0.1% 7.00 ms specialized _NativeDictionary.init(capacity:)
1.00 ms 0.0% 1.00 ms NSAttributedStringKey.rawValue.getter
26.00 ms 0.4% 0 s NSAttributedString.__allocating_init(string:attributes:)
26.00 ms 0.4% 26.00 ms @nonobjc NSAttributedString.init(string:attributes:)
16.00 ms 0.2% 14.00 ms NSAttributedString.__allocating_init(string:attributes:)
2.00 ms 0.0% 2.00 ms DYLD-STUB$$objc_allocWithZone
14.00 ms 0.2% 2.00 ms FileDeltaHunk.Line.workdirNumber.getter
12.00 ms 0.1% 4.00 ms FileDeltaHunk.Line.matchingRevertingWorkdirLine.getter
8.00 ms 0.1% 8.00 ms Boxed.wrappedValue.getter
12.00 ms 0.1% 0 s FileDeltaHunk.allLines.getter
12.00 ms 0.1% 0 s specialized Array.init<A>(_:)
12.00 ms 0.1% 0 s specialized protocol witness for Sequence._copyToContiguousArray() in conformance FlattenSequence<A>
12.00 ms 0.1% 0 s specialized Sequence._copyToContiguousArray()
6.00 ms 0.0% 1.00 ms specialized _copySequenceToContiguousArray<A>(_:)
3.00 ms 0.0% 0 s specialized protocol witness for IteratorProtocol.next() in conformance FlattenSequence<A>.Iterator
3.00 ms 0.0% 0 s specialized FlattenSequence.Iterator.next()
3.00 ms 0.0% 0 s specialized protocol witness for IteratorProtocol.next() in conformance IndexingIterator<A>
3.00 ms 0.0% 0 s specialized protocol witness for Collection.subscript.read in conformance [A]
3.00 ms 0.0% 0 s specialized Array.subscript.read
3.00 ms 0.0% 0 s specialized Array.subscript.getter
2.00 ms 0.0% 2.00 ms specialized Array._checkSubscript(_:wasNativeTypeChecked:)
1.00 ms 0.0% 1.00 ms specialized Array._getElement(_:wasNativeTypeChecked:matchingSubscriptCheck:)
2.00 ms 0.0% 2.00 ms specialized UnsafeMutablePointer.initialize(to:)
6.00 ms 0.0% 6.00 ms specialized UnsafeMutablePointer.moveInitialize(from:count:)
4.00 ms 0.0% 3.00 ms outlined release of FileDeltaHunk.Line
1.00 ms 0.0% 1.00 ms DYLD-STUB$$swift_bridgeObjectRelease
4.00 ms 0.0% 2.00 ms outlined retain of FileDeltaHunk.Line
2.00 ms 0.0% 2.00 ms DYLD-STUB$$swift_retain
3.00 ms 0.0% 1.00 ms specialized _allocateUninitializedArray<A>(_:)
1.00 ms 0.0% 1.00 ms DYLD-STUB$$swift_initStackObject
1.00 ms 0.0% 1.00 ms __swift_instantiateConcreteTypeFromMangledName
2.00 ms 0.0% 2.00 ms DYLD-STUB$$objc_release
1.00 ms 0.0% 1.00 ms type metadata accessor for NSColor
1.00 ms 0.0% 1.00 ms DYLD-STUB$$objc_retain
1.00 ms 0.0% 1.00 ms destroy for FileDeltaHunk.Line
15.00 ms 0.2% 1.00 ms specialized Array._getElement(_:wasNativeTypeChecked:matchingSubscriptCheck:)
14.00 ms 0.2% 14.00 ms outlined init with copy of (NSAttributedStringKey, Any)
1.00 ms 0.0% 1.00 ms outlined release of FileDeltaHunk.Line
1.00 ms 0.0% 1.00 ms __swift_instantiateConcreteTypeFromMangledName
162.00 ms 2.5% 0 s @objc EditorHunkTextView.frame.setter
162.00 ms 2.5% 0 s EditorHunkTextView.frame.setter
162.00 ms 2.5% 0 s AutomaticHeightTextView.frame.didset
162.00 ms 2.5% 0 s AutomaticHeightTextView.invalidateIntrinsicContentSizeIfNeeded()
162.00 ms 2.5% 0 s static String.== infix(_:_:)
162.00 ms 2.5% 162.00 ms _stringCompare(_:_:expecting:)
3.00 ms 0.0% 0 s @objc EditorHunkView.textLayoutManager(_:textLayoutFragmentFor:in:)
3.00 ms 0.0% 0 s EditorHunkView.textLayoutManager(_:textLayoutFragmentFor:in:)
3.00 ms 0.0% 1.00 ms specialized Collection.firstIndex(where:)
2.00 ms 0.0% 0 s specialized protocol witness for Collection.formIndex(after:) in conformance [A]
2.00 ms 0.0% 2.00 ms specialized Array.formIndex(after:)
3.00 ms 0.0% 3.00 ms @objc EditorHunkView.__deallocating_deinit
2.00 ms 0.0% 2.00 ms @objc EditorHunkGutterView.__ivar_destroyer
1.00 ms 0.0% 0 s @objc AutomaticHeightTextField.frame.setter
1.00 ms 0.0% 1.00 ms AutomaticHeightTextField.frame.setter
1.00 ms 0.0% 0 s @objc EditorFileOverviewViewController.tableView(_:viewFor:row:)
1.00 ms 0.0% 0 s EditorFileOverviewViewController.tableView(_:viewFor:row:)
1.00 ms 0.0% 0 s specialized EditorFileOverviewViewController.tableView(_:viewFor:row:)
1.00 ms 0.0% 0 s EditorFileOverviewFileCellView.viewFile.setter
1.00 ms 0.0% 1.00 ms EditorFileOverviewFileCellView.viewFile.didset
1.00 ms 0.0% 0 s -[GCIndex dealloc]
1.00 ms 0.0% 0 s git_index_free
1.00 ms 0.0% 0 s index_free
1.00 ms 0.0% 0 s git_index_clear
1.00 ms 0.0% 0 s index_map_delete
1.00 ms 0.0% 0 s git_idxmap_icase_delete
1.00 ms 0.0% 1.00 ms tolower
1.00 ms 0.0% 0 s @objc NSView.swizzled_updateConstraints()
1.00 ms 0.0% 1.00 ms NSView.swizzled_updateConstraints()
1.00 ms 0.0% 0 s EditorHunkView.draw(_:)
1.00 ms 0.0% 1.00 ms EditorHunkView.refreshGutterCheckboxes(resetExisting:)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.