Skip to content

Bloatable

Aleks-Daniel Jakimenko-Aleksejev edited this page Aug 8, 2019 · 9 revisions

This is an IRC bot for running bloaty on libmoar.so files of MoarVM. It can be addressed by its full name ('bloatable6') or its short name ('bloat' or 'bloaty'). It will run bloaty and pass one or more libmoar.so files from different revisions of MoarVM.

You can find some extra examples in tests: bloatable.t

Note that bloatable, unlike other bots, only accepts MoarVM SHAs (not rakudo ones).

Usage examples

One revision

<AlexDaniel> bloatable6: HEAD
<bloatable6> AlexDaniel, https://gist.github.com/3b6b9ee10b9d28fd38058055c5bd2974

See some explanation in bloaty README.

Two revisions

For two revisions it will give you the size diff:

<AlexDaniel> bloatable6: 2017.01,HEAD
<bloatable6> AlexDaniel, https://gist.github.com/74b5556d3b03ba960c1d4594ac28e575

More than two revisions

If you pass more than two revisions (or an option that expands into more than two, like releases), then it will give you a size diff of all adjacent versions (in the order that you have specified).

<AlexDaniel> bloatable6: releases
<bloatable6> AlexDaniel, https://gist.github.com/11ee3f696261c7f9a2e4f499b549528c

Other sources

You can use d=… or -d … to specify sources other than compileunits.

<AlexDaniel> bloat: d=inlines HEAD
<bloatable6> AlexDaniel, https://gist.github.com/0ba3dc206874198a5b525ad0a6af1353

<AlexDaniel> bloat: -d inputfiles,sections 2017.01,HEAD
<bloatable6> AlexDaniel, https://gist.github.com/a032c7b8cfe35c8b2084cbfa64834516

<AlexDaniel> bloat: d=uhmm… 2017.01,HEAD
<bloatable6> AlexDaniel, No such data source: uhmm… (Did you mean one of these: armembers compileunits inlines inputfiles sections segments symbols ?)