| ##=== 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'], |
| [] |
| ); |
| |