Announcing twiggy
0.3.0
twiggy
is a code size profiler for .wasm
binaries.
Upgrade to this release by reinstalling with cargo:
cargo install -f twiggy
Changelog
0.3.0
Released 2018/10/03.
-
Twiggy has a users guide now! #170
-
Added experimental, work-in-progress support for ELF and Mach-O binaries when
they have DWARF debug info. #74 -
All subcommands default to displaying a maximum of 10 items at a time
now. Additionally, they show a summary of the size and count of all the items
that are not displayed. #94 #98 #103 #113 -
Added the
-a
/--all
flag totwiggy garbage
to display all garbage items
without any max limit. #118 -
Added the
-a
/--all
,--all-generics
, and--all-monos
flags totwiggy monos
to list all generic functions, all monomorphizations of generic
functions, and all of both generics and their monomorphizations. #120 -
Added support for using regexes to find the difference in particular function
sizes withtwiggy diff --regex
. #129 -
Fixed a bug where wasm table elements referencing imported functions would
cause integer underflow. #151 -
Consider wasm tables roots in the graph, and make edges table -> element,
rather than element -> table. The latter is because a table logically owns its
elements, not the other way around. The former is because dynamic virtual
calls are not statically analyzable, so we have to consider all virtual
functions (aka function table elements) as psuedo-roots in the graph. These
two changes allow us to see when the table is heavy in the dominator tree
because a bunch of dynamic indirect calls that may or may not be possible at
run time are entrained in the function table because the compiler/linker
couldn't statically prove that they won't happen. #153
Friends
Thanks to everyone who contributed to this release!
- Aleksey Kladov
- data-pup
- Nick Fitzgerald
- Stefan Zimmermann
Contributing
Want to join us? Check out the Contributing section of the
guide and take a look at some of these issues: