formatting moarvm's profiler result in CLI
moarvm outputs profiler result as HTML. It's too heavy to display for large programs. But it can output json too.
I wrote a command line tool to display inclusive/exclusive time.
here is a code: https://github.com/tokuhirom/p6-HTTP-Server-Tiny/blob/master/author/moar-profiler-cli.pl
sample output is here:
42329399 <anon> gen/moar/m-BOOTSTRAP.nqp 2734
42326077 CALL-ME lib/NativeCall.pm 219
41899557 accept /home/tokuhirom/.rakudobrew/moar-nom/install/share/perl6/site/lib/Raw/Socket/INET.pm6 136
41836327 p6_socket_accept native library -2
39888308 <anon> /home/tokuhirom/dev/p6-HTTP-Server-Tiny/lib/HTTP/Server/Tiny.pm6 62
2080758 handler /home/tokuhirom/dev/p6-HTTP-Server-Tiny/lib/HTTP/Server/Tiny.pm6 147
2070563 <anon> /home/tokuhirom/dev/p6-HTTP-Server-Tiny/lib/HTTP/Server/Tiny.pm6 154
1870526 parse-http-request /home/tokuhirom/dev/p6-HTTP-Server-Tiny/lib/HTTP/Server/Tiny.pm6 238
852769 infix:<ne> gen/moar/m-CORE.setting 7922
838721 infix:<eq> gen/moar/m-CORE.setting 7918
733063 sink gen/moar/m-CORE.setting 10186
729940 sink-all gen/moar/m-CORE.setting 2806
589297 <anon> /home/tokuhirom/dev/p6-HTTP-Server-Tiny/lib/HTTP/Server/Tiny.pm6 246
495481 match gen/moar/m-CORE.setting 8369
473728 list gen/moar/m-CORE.setting 7536
438270 <anon> lib/NativeCall.pm 220
417899 ASSIGN-POS gen/moar/m-CORE.setting 13204
414589 guess_library_name lib/NativeCall.pm 157
408443 library /home/tokuhirom/.rakudobrew/moar-nom/install/share/perl6/site/lib/Raw/Socket/INET.pm6 9
366499 <anon> /home/tokuhirom/.rakudobrew/moar-nom/install/share/perl6/site/lib/Raw/Socket/INET.pm6 12
365713 <anon> /home/tokuhirom/.rakudobrew/moar-nom/install/share/perl6/site/lib/Raw/Socket/INET.pm6 13
328924 infix:<eq> gen/moar/m-CORE.setting 1713
328914 <anon> /home/tokuhirom/dev/p6-HTTP-Server-Tiny/lib/HTTP/Server/Tiny.pm6 269
312313 Stringy gen/moar/m-CORE.setting 1264
299129 r gen/moar/m-CORE.setting 21928
294579 subst-mutate gen/moar/m-CORE.setting 5729
274877 Str gen/moar/m-CORE.setting 11385
265843 ASSIGN-POS-SLOWPATH gen/moar/m-CORE.setting 13225
260310 join gen/moar/m-CORE.setting 11938
250136 e gen/moar/m-CORE.setting 21905