80 lines
2.3 KiB
Perl
Executable file
80 lines
2.3 KiB
Perl
Executable file
#!/usr/bin/perl
|
|
#
|
|
# Copyright Martin J. Bligh (mbligh@mbligh.org), 2006
|
|
|
|
$bin = `realpath $0 | xargs dirname`; chomp $bin;
|
|
require "$bin/abat_parse.pm";
|
|
|
|
$plotgraph = "$bin/plotgraph";
|
|
|
|
$perfdir = shift(@ARGV);
|
|
die unless (-d $perfdir);
|
|
|
|
opendir PERFDIR, $perfdir;
|
|
my @data_files = grep /^plotdata\.[\w-]+\.[\w-]+$/, readdir PERFDIR;
|
|
closedir PERFDIR;
|
|
chdir ($perfdir);
|
|
|
|
%axis_labels = ( 'kernbench' => 'Elapsed time (seconds)',
|
|
'dbench' => 'Throughput (MB/s)',
|
|
'tbench' => 'Throughput (MB/s)',
|
|
'reaim' => 'Max Jobs per Minute',
|
|
);
|
|
|
|
%plot_cols = ( 'kernbench' => '1:4:8',
|
|
'dbench' => '1:4:5',
|
|
'tbench' => '1:4:5',
|
|
'reaim' => '1:4:5',
|
|
);
|
|
|
|
foreach $data_file (@data_files) {
|
|
$data_file =~ /^plotdata\.([\w-]+)\.([\w-]+)$/;
|
|
($test, $machine) = ($1, $2);
|
|
print " === Analysing data file: $data_file $test $machine\n";
|
|
push @machines, $machine;
|
|
open DATAFILE, $data_file || die "Cannot open $data_file";
|
|
while ($data = <DATAFILE>) {
|
|
print "X " . $data;
|
|
chomp $data;
|
|
$data =~ s/^\d+\s+//; # get rid of count
|
|
@data = split (/ /, $data);
|
|
$version = $data[0];
|
|
print "$test $version = $data\n";
|
|
$results{$test}{$machine}{$version} = $data;
|
|
push @versions, $version;
|
|
}
|
|
}
|
|
|
|
@machines = list_uniq (@machines);
|
|
@versions = sort version list_uniq (@versions);
|
|
|
|
@relevant = relevant_versions(@versions);
|
|
|
|
foreach $machine (@machines) {
|
|
foreach $test (keys(%axis_labels)) {
|
|
graph_plot($machine, "${test}.full.${machine}",
|
|
$test, @versions);
|
|
graph_plot($machine, "${test}.${machine}",
|
|
$test, @relevant);
|
|
}
|
|
}
|
|
|
|
sub graph_plot
|
|
{
|
|
my ($machine, $filename, $test, @plot_versions) = @_;
|
|
my $count = 0;
|
|
|
|
print " ----- test: $test machine: $machine $#plot_versions\n";
|
|
open (DATA, "> $filename") || die "Cannot open data file $filename";
|
|
foreach $version (@plot_versions) {
|
|
my $results = $results{$test}{$machine}{$version};
|
|
next unless ($results =~ /\S/);
|
|
$count++;
|
|
print "$count $version $results\n";
|
|
print DATA "$count $results\n";
|
|
}
|
|
close (DATA);
|
|
print " ----- \n";
|
|
print `$plotgraph $filename '$axis_labels{$test}' '$plot_cols{$test}'`;
|
|
}
|
|
|