blob: 4b5b9465d9a1fcf34b9c83a378396442d0f41e79 [file] [log] [blame]
##=== TEST.poolalloc.report - Report description for poolalloc -*- perl -*-===##
#
# This file defines a report to be generated for the pool allocator tests.
#
##===----------------------------------------------------------------------===##
# Sort by program name
$SortCol = 0;
$TrimRepeatedPrefix = 1;
sub Ratio {
my ($Cols, $Col) = @_;
if ($Cols->[$Col-1] ne "*" and $Cols->[5] ne "*" and
$Cols->[$Col-1] != "0") {
return sprintf "%1.3f", $Cols->[5]/$Cols->[$Col-1];
} else {
return "n/a";
}
}
sub Sum {
my ($Cols, $Col) = @_;
if ($Cols->[$Col-1] ne "*" and $Cols->[$Col-2] ne "*") {
return sprintf "%1.3f", $Cols->[$Col-2]+$Cols->[$Col-1];
} else {
return "n/a";
}
}
sub FormatTime {
my $Time = shift;
if ($Time =~ m/([0-9]+)[m:]([0-9.]+)/) {
$Time = sprintf("%7.3f", $1*60.0+$2);
}
return $Time;
}
@LatexColumns = (1, 5, 8, 12, 9, 13, 14, 15, 2, 16);
my $OLDEN = 'MultiSource/Benchmarks/Olden';
my $FREEBENCH = 'MultiSource/Benchmarks/FreeBench';
my $PTRDIST = 'MultiSource/Benchmarks/Ptrdist';
@LatexRowMapOrder = (
"bh/bh" => 'bh',
"bisort/bisort" => 'bisort',
"em3d/em3d" => 'em3d',
"health/health" => 'health',
"mst/mst" => 'mst',
"perimeter/perimeter" => 'perimeter',
"power/power" => 'power',
"treeadd/treeadd" => 'treeadd',
"tsp/tsp" => 'tsp',
"voronoi/voronoi" => 'voronoi',
'-' => '-',
"anagram/anagram" => 'anagram',
"bc/bc" => 'bc',
"ft/ft" => 'ft',
"ks/ks" => 'ks',
"yacr2/yacr2" => 'yacr2',
'-' => '-',
'164.gzip/164.gzip' => '164.gzip',
'175.vpr/175.vpr' => '175.vpr',
'181.mcf/181.mcf' => '181.mcf',
'186.crafty/186.crafty' => '186.crafty',
'197.parser/197.parser' => '197.parser',
'197.parser.hacked/197.parser.hacked' => '197.parser(b)',
'255.vortex/255.vortex' => '255.vortex',
'256.bzip2/256.bzip2' => '256.bzip2',
'300.twolf/300.twolf' => '300.twolf',
'-' => '-',
"analyzer" => 'analyzer',
"llu" => 'llu-bench',
);
# These are the columns for the report. The first entry is the header for the
# column, the second is the regex to use to match the value. Empty list create
# seperators, and closures may be put in for custom processing.
(
# Name
["Name:" , '\'([^\']+)\' Program'],
["LOC" , 'LOC:\s*([0-9]+)'],
[],
# Times
["NormalUser", 'CBE-RUN-TIME-NORMAL-USER: user\s*([.0-9m:]+)', \&FormatTime],
["NormalSys", 'CBE-RUN-TIME-NORMAL-SYS: sys\s*([.0-9m:]+)', \&FormatTime],
["NormalSum", \&Sum],
["AllNodesUser", 'CBE-RUN-TIME-ALLNODES-USER: user\s*([.0-9m:]+)', \&FormatTime],
["AllNodesSys", 'CBE-RUN-TIME-ALLNODES-SYS: sys\s*([.0-9m:]+)', \&FormatTime],
["AllNodesSum", \&Sum],
["AN Speedup", \&Ratio],
["PoolAllocUser", 'CBE-RUN-TIME-POOLALLOC-USER: user\s*([.0-9m:]+)', \&FormatTime],
["PoolAllocSys", 'CBE-RUN-TIME-POOLALLOC-SYS: sys\s*([.0-9m:]+)', \&FormatTime],
["PoolAllocSum", \&Sum],
["PA Speedup", \&Ratio],
["AP NumPools", '([0-9]+).*Number of pools allocated'],
["AP Typesafe", '([0-9]+).*Number of typesafe pools'],
["NumArgs", '([0-9]+).*Number of function arguments added'],
# ["Nonprofit", '([0-9]+).*Number of DSNodes not profitable'],
[]
);