Mercurial > hg > Members > anatofuz > MoarVM
view tools/dynvarcost @ 11:e08e6dca633f
add switch code
author | Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 09 Oct 2018 16:17:01 +0900 |
parents | 2cf249471370 |
children |
line wrap: on
line source
#!/usr/bin/perl use v5.18; use strict; my $TRIES; my %tries; my $FCOST; my $ICOST; my $ECOST; my $XCOST; my %fcost; my %icost; my %ecost; my %xcost; while (<>) { my ($how, $name, $fcost, $icost, $ecost, $xcost) = split; $TRIES++; $tries{$name}++; $FCOST += $fcost; $ICOST += $icost; $ECOST += $ecost; $XCOST += $xcost; $fcost{$name} += $fcost; $icost{$name} += $icost; $ecost{$name} += $ecost; $xcost{$name} += $xcost; } say " TRIES FRAMES INLINES EMPTY TAKEN"; say " ======== =============== =============== =============== ==============="; output("TOTAL", $TRIES, $FCOST, $ICOST, $ECOST, $XCOST); say ""; for my $name (sort {$tries{$b} <=> $tries{$a}} keys %tries) { output($name, $tries{$name}, $fcost{$name}, $icost{$name}, $ecost{$name}, $xcost{$name}); } sub output { my ($name, $t, $f, $i, $e, $x) = @_; printf "%-22s %8d %9d %6.2f %9d %6.2f %9d %6.2f %9d %6.2f\n", $name, $t, $f, $f/$t, $i, $i/$t, $e, $e/$t, $x, $x/$t; }