-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Open
Labels
P3A lower priority bug or feature requestA lower priority bug or feature requestarea-vmUse area-vm for VM related issues, including code coverage, and the AOT and JIT backends.Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends.triagedIssue has been triaged by sub teamIssue has been triaged by sub team
Description
I have been trying to profile the AOT snapshot for dart2js.
The call stacks are too short to be informative and appear to be corrupted.
What am I doing wrong?
$ perf5 record -g \
out/ReleaseX64/dart-sdk/bin/dartaotruntime \
out/ReleaseX64/dart-sdk/bin/snapshots/dart2js_aot.dart.snapshot \
--invoker=x --platform-binaries=out/ReleaseX64 benchmarks/Omnibus/dart/Omnibus.dart --out=z.js
Compiled 11,317,036 input bytes (6,305,838 characters source) to 686,553 characters JavaScript in 3.59 seconds using N/A MB of memory
[ perf record: Woken up 32 times to write data ]
[ perf record: Captured and wrote 8.453 MB perf.data (15886 samples) ]perf5 report -n -g --inline > ZZZZZ
It seems really unlikely that all ~600 call stacks for _LinkedHashMapMixin._getValueOrData are the same as for other functions (e.g. List.[], and include the microtask loop:
3.77% 599 DartWorker dart2js_aot.dart.snapshot [.] _LinkedHashMapMixin._getValueOrData
|
--3.23%--start_thread
0x55b9cde58609
0x55b9cde749a2
0x55b9cde74747
0x55b9cde0525b
0x55b9cde04fca
0x55b9cddfff0e
0x55b9cddf642f
0x55b9cddf4d71
stub InvokeDartCode
_RawReceivePort._handleMessage
_runPendingImmediateCallback
_startMicrotaskLoop
_startMicrotaskLoop
_microtaskLoop
|
|--2.50%--_SuspendState._awaitCompletedFuture.run
| _SuspendState._createAsyncStarCallback.<anonymous closure>
...
ZZZZZ
# To display the perf.data header info, please use --header/--header-only options.
#
#
# Total Lost Samples: 0
#
# Samples: 15K of event 'task-clock:upppH'
# Event count (approx.): 3971500000
#
# Overhead Samples Command Shared Object Symbol
# ........ ............ ............... ......................... ........................................................................................
#
7.16% 1138 DartWorker dartaotruntime [.] 0x00000000004b2026
|
--6.83%--start_thread
0x55b9cde58609
0x55b9cde749a2
0x55b9cde74747
|
|--3.59%--0x55b9cde88910
| |
| --3.10%--0x55b9cde8b44c
| |
| |--1.62%--0x55b9cde8b9c8
| | |
| | |--0.71%--0x55b9cde8cb10
| | | 0x55b9cde91026
| | |
| | --0.60%--0x55b9cde8c9be
| |
| --1.48%--0x55b9cde8b9d0
| |
| --0.76%--0x55b9cde8d6ff
| 0x55b9cde91026
|
--3.24%--0x55b9cde0525b
0x55b9cde04fca
0x55b9cddfff0e
0x55b9cddf642f
0x55b9cddf4d71
stub InvokeDartCode
_RawReceivePort._handleMessage
_runPendingImmediateCallback
_startMicrotaskLoop
_startMicrotaskLoop
_microtaskLoop
|
|--1.98%--_CustomZone.bindCallback.<anonymous closure>
| _CustomZone.run
| _rootRun
| _rootRun
| |
| --1.71%--_SuspendState._awaitCompletedFuture.run
| _rootRunUnary
| _rootRunUnary
| _SuspendState._createAsyncStarCallback.<anonymous closure>
| |
| |--0.93%--stub _iso_stub_ReturnAsyncNotFutureStub
| | _SuspendState._returnAsyncNotFuture
| | Future._completeWithValue
| | Future._propagateToListeners
| | Future._propagateToListeners.handleValueCallback
| | _FutureListener.handleValue
| | _rootRunUnary
| | _rootRunUnary
| | _SuspendState._createAsyncStarCallback.<anonymous closure>
| | stub _iso_stub_ReturnAsyncStub
| | _SuspendState._returnAsync
| | Future._completeWithValue
| | Future._propagateToListeners
| | Future._propagateToListeners.handleValueCallback
| | _FutureListener.handleValue
| | _rootRunUnary
| | _rootRunUnary
| | _SuspendState._createAsyncStarCallback.<anonymous closure>
| | stub _iso_stub_ReturnAsyncStub
| | _SuspendState._returnAsync
| | Future._completeWithValue
| | Future._propagateToListeners
| | Future._propagateToListeners.handleValueCallback
| | _FutureListener.handleValue
| | _rootRunUnary
| | _rootRunUnary
| | _SuspendState._createAsyncStarCallback.<anonymous closure>
| | stub _iso_stub_ReturnAsyncNotFutureStub
| | _SuspendState._returnAsyncNotFuture
| | Future._completeWithValue
| | Future._propagateToListeners
| | Future._propagateToListeners.handleValueCallback
| | _FutureListener.handleValue
| | _rootRunUnary
| | _rootRunUnary
| | _SuspendState._createAsyncStarCallback.<anonymous closure>
| | stub _iso_stub_ReturnAsyncStub
| | _SuspendState._returnAsync
| | Future._completeWithValue
| | Future._propagateToListeners
| | Future._propagateToListeners.handleValueCallback
| | _FutureListener.handleValue
| | _rootRunUnary
| | _rootRunUnary
| | _SuspendState._createAsyncStarCallback.<anonymous closure>
| | stub _iso_stub_ReturnAsyncStub
| | _SuspendState._returnAsync
| | Future._completeWithValue
| | Future._propagateToListeners
| | Future._propagateToListeners.handleValueCallback
| | _FutureListener.handleValue
| | _SuspendState._createAsyncStarCallback.<anonymous closure>
| | stub _iso_stub_ReturnAsyncNotFutureStub
| | _SuspendState._returnAsyncNotFuture
| | Future._completeWithValue
| | Future._propagateToListeners
| | Future._propagateToListeners.handleValueCallback
| | _FutureListener.handleValue
| | _SuspendState._createAsyncStarCallback.<anonymous closure>
| | _loadFromSource
| | _doTransformsOnKernelLoad
| | |
| | --0.64%--transformLibraries
| | ConstantTransformer.visitLibrary
| | Library.transformChildren
| | Transformer.transformList
| | Class.accept
| | _GlobalTransformer.visitClass
| | Class.transformChildren
| | |
| | --0.52%--Class.constructors
| | Class.ensureLoaded
| | BinaryBuilder._setLazyLoadClass.<anonymous closure>
| | BinaryBuilder.readClassPartialContent
| | BinaryBuilder._readProcedureList
| | BinaryBuilder.readProcedure
| | BinaryBuilder.readFunctionNode
| | BinaryBuilder.readAndPushVariableDeclarationList
| | BinaryBuilder.readAndPushVariableDeclaration
| | BinaryBuilder.readVariableDeclaration
| | BinaryBuilder.readDartType
| | BinaryBuilder._readSimpleFunctionType
| | BinaryBuilder.readDartTypeList
| | new _GrowableList
| | List._allocateData
| | stub _iso_stub_AllocateArrayStub
| | stub CallToRuntime
| | 0x55b9cde5cb57
| | 0x55b9cde408eb
| | 0x55b9cde1c237
| | 0x55b9cde7a4c5
| | 0x55b9cde7b7b1
| | 0x55b9cde89fa2
| | 0x55b9cde8a3fe
| | 0x55b9cde88787
| |
| --0.59%--SourceLoader.buildBody
|
--1.26%--_SuspendState._awaitCompletedFuture.run
_SuspendState._createAsyncStarCallback.<anonymous closure>
Compiler.runSequentialPhases
|
|--0.71%--Compiler.produceGlobalTypeInferenceResults
| Compiler.performGlobalTypeInference
| GlobalTypeInferenceTask.runGlobalTypeInference
| CompilerTask.measure
| GlobalTypeInferenceTask.runGlobalTypeInference.<anonymous closure>
| TypeGraphInferrer.analyzeMain
| InferrerEngine.runOverAllElements
| DurationMetric.measure
| InferrerEngine._runOverAllElements
| InferrerEngine._runOverAllElements
| |
| --0.57%--DurationMetric.measure
|
--0.55%--Compiler.runCodegenEnqueuer
3.77% 599 DartWorker dart2js_aot.dart.snapshot [.] _LinkedHashMapMixin._getValueOrData
|
--3.23%--start_thread
0x55b9cde58609
0x55b9cde749a2
0x55b9cde74747
0x55b9cde0525b
0x55b9cde04fca
0x55b9cddfff0e
0x55b9cddf642f
0x55b9cddf4d71
stub InvokeDartCode
_RawReceivePort._handleMessage
_runPendingImmediateCallback
_startMicrotaskLoop
_startMicrotaskLoop
_microtaskLoop
|
|--2.50%--_SuspendState._awaitCompletedFuture.run
| _SuspendState._createAsyncStarCallback.<anonymous closure>
| Compiler.runSequentialPhases
| |
| |--1.71%--Compiler.runCodegenEnqueuer
| | |
| | --1.39%--Compiler.processQueue
| | CompilerTask.measureSubtask
| | Compiler.processQueue.<anonymous closure>
| | Compiler.emptyQueue
| | CompilerTask.measureSubtask
| | Compiler.emptyQueue.<anonymous closure>
| | CodegenEnqueuer._forEach
| | Compiler.emptyQueue.<anonymous closure>.<anonymous closure>
| | DiagnosticReporter.withCurrentElement
| | Compiler.emptyQueue.<anonymous closure>.<anonymous closure>.<anonymous closure>
| | CompilerTask.measureSubtask
| | Compiler.emptyQueue.<anonymous closure>.<anonymous closure>.<anonymous closure>.<anonymous closure>
| | |
| | --1.27%--CompilerTask.measureSubtask
| | Compiler.emptyQueue.<anonymous closure>.<anonymous closure>.<anonymous closure>.<anonymous closure>.<anonymous closure>
| | KernelCodegenWorkItem.run
| | JsBackendStrategy.generateCode
| | |
| | --1.18%--OnDemandCodegenResults.getCodegenResults
| | SsaFunctionCompiler.compile
| | |
| | --0.79%--SsaBuilderTask.build
| | KernelSsaBuilder.build
| | CompilerTask.measure
| | KernelSsaBuilder.build.<anonymous closure>
| | |
| | --0.74%--KernelSsaGraphBuilder.build
| | DiagnosticReporter.withCurrentElement
| | KernelSsaGraphBuilder.build.<anonymous closure>
| | |
| | --0.70%--KernelSsaGraphBuilder._buildFunctionNode
| | |
| | --0.60%--Block.accept
| | KernelSsaGraphBuilder.visitBlock
| |
| --0.79%--Compiler.produceGlobalTypeInferenceResults
| Compiler.performGlobalTypeInference
| GlobalTypeInferenceTask.runGlobalTypeInference
| CompilerTask.measure
| GlobalTypeInferenceTask.runGlobalTypeInference.<anonymous closure>
| TypeGraphInferrer.analyzeMain
| |
| --0.79%--InferrerEngine.runOverAllElements
| DurationMetric.measure
| InferrerEngine._runOverAllElements
| InferrerEngine._runOverAllElements
| |
| --0.72%--DurationMetric.measure
|
--0.73%--_CustomZone.bindCallback.<anonymous closure>
_CustomZone.run
_rootRun
_rootRun
|
--0.67%--_SuspendState._awaitCompletedFuture.run
_rootRunUnary
_rootRunUnary
_SuspendState._createAsyncStarCallback.<anonymous closure>
2.29% 364 DartWorker dartaotruntime [.] 0x00000000004a26e0
|
--2.25%--start_thread
0x55b9cde58609
0x55b9cde749a2
0x55b9cde74747
|
--1.97%--0x55b9cde81845
|
|--0.96%--0x55b9cde81a94
|
--0.65%--0x55b9cde81bd5
0x55b9cde816e0
1.71% 272 DartWorker dartaotruntime [.] 0x00000000004b223c
|
--1.65%--start_thread
0x55b9cde58609
0x55b9cde749a2
0x55b9cde74747
|
|--0.93%--0x55b9cde88910
| |
| --0.86%--0x55b9cde8b44c
|
--0.72%--0x55b9cde0525b
0x55b9cde04fca
0x55b9cddfff0e
0x55b9cddf642f
0x55b9cddf4d71
stub InvokeDartCode
_RawReceivePort._handleMessage
_runPendingImmediateCallback
_startMicrotaskLoop
_startMicrotaskLoop
_microtaskLoop
1.44% 228 DartWorker dartaotruntime [.] 0x00000000004b2164
|
--1.38%--start_thread
0x55b9cde58609
0x55b9cde749a2
0x55b9cde74747
|
|--0.71%--0x55b9cde88910
| |
| --0.66%--0x55b9cde8b44c
|
--0.67%--0x55b9cde0525b
0x55b9cde04fca
0x55b9cddfff0e
0x55b9cddf642f
0x55b9cddf4d71
stub InvokeDartCode
_RawReceivePort._handleMessage
_runPendingImmediateCallback
_startMicrotaskLoop
_startMicrotaskLoop
_microtaskLoop
1.42% 226 DartWorker dart2js_aot.dart.snapshot [.] ListIterator.moveNext
|
--1.18%--start_thread
0x55b9cde58609
0x55b9cde749a2
0x55b9cde74747
0x55b9cde0525b
0x55b9cde04fca
0x55b9cddfff0e
0x55b9cddf642f
0x55b9cddf4d71
stub InvokeDartCode
_RawReceivePort._handleMessage
_runPendingImmediateCallback
_startMicrotaskLoop
_startMicrotaskLoop
_microtaskLoop
|
--0.93%--_SuspendState._awaitCompletedFuture.run
_SuspendState._createAsyncStarCallback.<anonymous closure>
|
--0.92%--Compiler.runSequentialPhases
|
--0.55%--Compiler.runCodegenEnqueuer
1.38% 219 DartWorker dart2js_aot.dart.snapshot [.] stub _iso_stub_AllocateObjectParameterizedStub
|
--1.18%--start_thread
0x55b9cde58609
0x55b9cde749a2
0x55b9cde74747
0x55b9cde0525b
0x55b9cde04fca
0x55b9cddfff0e
0x55b9cddf642f
0x55b9cddf4d71
stub InvokeDartCode
_RawReceivePort._handleMessage
|
--1.17%--_runPendingImmediateCallback
_startMicrotaskLoop
_startMicrotaskLoop
_microtaskLoop
|
--0.71%--_SuspendState._awaitCompletedFuture.run
_SuspendState._createAsyncStarCallback.<anonymous closure>
Compiler.runSequentialPhases
0.93% 147 DartWorker dart2js_aot.dart.snapshot [.] List.[]
|
--0.67%--start_thread
0x55b9cde58609
0x55b9cde749a2
0x55b9cde74747
0x55b9cde0525b
0x55b9cde04fca
0x55b9cddfff0e
0x55b9cddf642f
0x55b9cddf4d71
stub InvokeDartCode
_RawReceivePort._handleMessage
_runPendingImmediateCallback
_startMicrotaskLoop
_startMicrotaskLoop
_microtaskLoop
0.86% 137 DartWorker dart2js_aot.dart.snapshot [.] _LinkedHashMapMixin._findValueOrInsertPoint
|
--0.72%--start_thread
0x55b9cde58609
0x55b9cde749a2
0x55b9cde74747
0x55b9cde0525b
0x55b9cde04fca
0x55b9cddfff0e
0x55b9cddf642f
0x55b9cddf4d71
stub InvokeDartCode
_RawReceivePort._handleMessage
_runPendingImmediateCallback
_startMicrotaskLoop
_startMicrotaskLoop
_microtaskLoop
|
--0.53%--_SuspendState._awaitCompletedFuture.run
_SuspendState._createAsyncStarCallback.<anonymous closure>
Compiler.runSequentialPhases
0.86% 136 DartWorker dart2js_aot.dart.snapshot [.] _CompactIterator.moveNext
|
--0.82%--start_thread
0x55b9cde58609
0x55b9cde749a2
0x55b9cde74747
0x55b9cde0525b
0x55b9cde04fca
0x55b9cddfff0e
0x55b9cddf642f
0x55b9cddf4d71
stub InvokeDartCode
_RawReceivePort._handleMessage
_runPendingImmediateCallback
_startMicrotaskLoop
_startMicrotaskLoop
_microtaskLoop
|
--0.57%--_SuspendState._awaitCompletedFuture.run
_SuspendState._createAsyncStarCallback.<anonymous closure>
Compiler.runSequentialPhases
0.84% 134 DartWorker dart2js_aot.dart.snapshot [.] _LinkedHashSetMixin._add
|
--0.59%--start_thread
0x55b9cde58609
0x55b9cde749a2
0x55b9cde74747
0x55b9cde0525b
0x55b9cde04fca
0x55b9cddfff0e
0x55b9cddf642f
0x55b9cddf4d71
stub InvokeDartCode
_RawReceivePort._handleMessage
_runPendingImmediateCallback
_startMicrotaskLoop
_startMicrotaskLoop
_microtaskLoop
0.82% 131 DartWorker dart2js_aot.dart.snapshot [.] stub _iso_stub_AllocateObjectStub
|
--0.74%--start_thread
0x55b9cde58609
0x55b9cde749a2
0x55b9cde74747
0x55b9cde0525b
0x55b9cde04fca
0x55b9cddfff0e
0x55b9cddf642f
0x55b9cddf4d71
stub InvokeDartCode
_RawReceivePort._handleMessage
_runPendingImmediateCallback
_startMicrotaskLoop
_startMicrotaskLoop
_microtaskLoop
0.72% 115 DartWorker dart2js_aot.dart.snapshot [.] stub _iso_stub_AllocateArrayStub
|
--0.59%--start_thread
0x55b9cde58609
0x55b9cde749a2
0x55b9cde74747
0x55b9cde0525b
0x55b9cde04fca
0x55b9cddfff0e
0x55b9cddf642f
0x55b9cddf4d71
stub InvokeDartCode
_RawReceivePort._handleMessage
|
--0.59%--_runPendingImmediateCallback
_startMicrotaskLoop
_startMicrotaskLoop
_microtaskLoop
0.69% 109 DartWorker dart2js_aot.dart.snapshot [.] _OperatorEqualsAndHashCode._hashCode
|
--0.55%--start_thread
0x55b9cde58609
0x55b9cde749a2
0x55b9cde74747
0x55b9cde0525b
0x55b9cde04fca
0x55b9cddfff0e
0x55b9cddf642f
0x55b9cddf4d71
stub InvokeDartCode
_RawReceivePort._handleMessage
_runPendingImmediateCallback
_startMicrotaskLoop
_startMicrotaskLoop
_microtaskLoop
0.69% 109 DartWorker dartaotruntime [.] 0x00000000004a2701
|
--0.67%--start_thread
0x55b9cde58609
0x55b9cde749a2
0x55b9cde74747
|
--0.58%--0x55b9cde81845
0.65% 104 DartWorker dart2js_aot.dart.snapshot [.] _LinkedHashMapMixin._insert
|
--0.57%--start_thread
0x55b9cde58609
0x55b9cde749a2
0x55b9cde74747
0x55b9cde0525b
0x55b9cde04fca
0x55b9cddfff0e
0x55b9cddf642f
0x55b9cddf4d71
stub InvokeDartCode
_RawReceivePort._handleMessage
_runPendingImmediateCallback
_startMicrotaskLoop
_startMicrotaskLoop
_microtaskLoop
0.65% 103 DartWorker dart2js_aot.dart.snapshot [.] Transformer.transformList
|
--0.54%--start_thread
0x55b9cde58609
0x55b9cde749a2
0x55b9cde74747
0x55b9cde0525b
0x55b9cde04fca
0x55b9cddfff0e
0x55b9cddf642f
0x55b9cddf4d71
stub InvokeDartCode
_RawReceivePort._handleMessage
_runPendingImmediateCallback
_startMicrotaskLoop
_startMicrotaskLoop
_microtaskLoop
_CustomZone.bindCallback.<anonymous closure>
_CustomZone.run
_rootRun
_rootRun
_SuspendState._awaitCompletedFuture.run
_rootRunUnary
_rootRunUnary
_SuspendState._createAsyncStarCallback.<anonymous closure>
0.64% 101 DartWorker dart2js_aot.dart.snapshot [.] String._concatAll
0.62% 99 DartWorker dart2js_aot.dart.snapshot [.] _StringBase.compareTo
0.58% 92 DartWorker dart2js_aot.dart.snapshot [.] List.elementAt
0.57% 91 DartWorker dart2js_aot.dart.snapshot [.] _Array.length
0.57% 90 DartWorker dart2js_aot.dart.snapshot [.] stub _iso_stub_AllocateClosureStub
0.54% 85 DartWorker dart2js_aot.dart.snapshot [.] Hashing.listHash
0.54% 85 DartWorker dart2js_aot.dart.snapshot [.] Transformer.transform
0.52% 82 DartWorker dart2js_aot.dart.snapshot [.] stub Subtype6TestCache
...
Metadata
Metadata
Assignees
Labels
P3A lower priority bug or feature requestA lower priority bug or feature requestarea-vmUse area-vm for VM related issues, including code coverage, and the AOT and JIT backends.Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends.triagedIssue has been triaged by sub teamIssue has been triaged by sub team