vm_snapshot_analysis 0.7.2 vm_snapshot_analysis: ^0.7.2 copied to clipboard
Utilities for analysing AOT snapshot size.
Changelog #
0.7.2 #
- Upgrade to
package:lints
2.0. - Populate the pubspec
repository
field.
0.7.1 #
- Make
CallGraphNode.dominator
nullable.
0.7.0 #
- Migrate to null-safety.
0.6.0 #
- Update to latest args, path, meta dependency.
0.5.6 #
- Fix for flutter/flutter#76313 causing issues with profiles containing WSRs serialized as smi-s instead of actual WSR objects.=
0.5.5 #
- Add
deps-display-depth
(-d
) flag forsummary
command to make the display depth of outputted dependency trees configurable. - Rename
deps-collapse-depth
(formerly-d
) flag forsummary
command todeps-start-depth
(now-s
). - Add
generateCallGraphWithDominators
method that generates aCallGraph
object from precompiler trace.
0.5.4 #
- Fix bug causing name clash for Type class.
0.5.3 #
- Add
compareProgramInfo
that takes in two program info objects and outputs aMap
object containing the diff data.
0.5.2 #
- Add support for package paths that look like
package:foo.bar.baz/src/foobar.dart
- Move
commands
back to lib.
0.5.0+1 #
- Fix broken package by moving non-executable file out of bin/ directory.
0.5.0 #
- Remove
dart:io
dependency from packagelib
, and movecommands
tobin
. - Replace
loadProgramInfo
util method withloadProgramInfoFromJson
, which expects anObject
parameter instead of aFile
parameter. buildComparisonTreemap
now expects twoObject
parameters foroldJson
andnewJson
instead of twoFile
parameters.compare
command now prints difference breakdown by node type when this information is available.
0.4.0 #
- Add
buildComparisonTreemap
for constructing treemap representing the diff between two size profiles. - Implemented support for extracting call graph information from the AOT
compiler trace (
--trace-precompiler-to
flag), seeprecompiler_trace.dart
. - New command
explain dynamic-calls
which estimates the impact of different dynamic calls on the resulting AOT snapshot size using information from the size dump (e.g. V8 snapshot profile) and AOT compiler trace. summary
command can now use information from the AOT compiler trace to group packages/libraries together with their dependencies to given more precise estimate of how much a specific package/library brings into the snapshot.
0.3.0 #
- Extract treemap construction code into a separate library, to make it reusable.
- Add ability to collapse leaf nodes in a treemap created from V8 snapshot
profile. This behavior is programmatically controlled by
TreemapFormat format
parameter and from CLI via--format
flag. The following options are availablecollapsed
essentially rendersProgramInfo
as a treemap, individual snapshot nodes are ignored.simplified
same ascollapsed
, but also folds size information from nested functions into outermost function (e.g. top level function or a method) producing easy to consume output.data-and-code
collapses snapshot nodes based on whether they represent data or executable code.object-type
(default) collapses snapshot nodes based on their type only.
- When computing
ProgramInfo
from a V8 snapshot profile no longer createProgramInfoNode
forCode
nodes which are owned by a function - instead directly attribute theCode
node itself and all retained nodes intoProgramInfoNode
for the function itself. For stubs (including allocation stubs) create an artificialfunctionNode
instead of usingNodeType.other
. The only remaining use ofNodeType.other
is for fields.
0.2.0 #
- Update CLI help message to avoid referring to a snapshot created by pub as the name of the script.
- Fix owner computation code for V8 profiles: the size of a snapshot node
which corresponds to a
ProgramInfoNode
should be attributed to thatProgramInfoNode
and not to its parent. For exampleFunction
node corresponds toProgramInfoNode
of typefunctionNode
, previously the size ofFunction
node would be attributed to the parent of thisProgramInfoNode
, but it should be attributed to the node itself. - Update
README.md
to include more information on how to pass flags to Dart AOT compiler. - Add
ProgramInfoNode.size
documentation to clarify the meaning of the member.
0.1.0 #
- Initial release