1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
#!/usr/local/bin/perl
# (C) Hans Wolfgang Loidl, October 1995
#############################################################################
# Time-stamp: <Thu Oct 26 1995 18:30:54 Stardate: [-31]6498.64 hwloidl>
#
# Usage: AVG [options] <gr-file>
#
# A quich hack to get avg runtimes of different spark sites. Similar to SPLIT.
#
# Options:
# -s <list> ... a perl list of spark names; the given <gr-file> is scanned
# for each given name in turn and granularity graphs are
# generated for each of these sparks
# -O ... use gr2RTS and RTS2gran instead of gran-extr;
# this generates fewer output files (only granularity graphs)
# but should be faster and far less memory consuming
# -h ... help; print this text.
# -v ... verbose mode.
#
#############################################################################
require "getopts.pl";
&Getopts('hvOs:');
do process_options();
if ( $opt_v ) { do print_verbose_message(); }
# ---------------------------------------------------------------------------
# Init
# ---------------------------------------------------------------------------
foreach $s (@sparks) {
# extract END events for this spark-site
open (GET,"cat $input | tf -s $s | avg-RTS") || die "!$\n";
}
exit 0;
exit 0;
# -----------------------------------------------------------------------------
sub process_options {
if ( $opt_h ) {
open(ME,$0) || die "Can't open myself ($0): $!\n";
$n = 0;
while (<ME>) {
last if $_ =~ /^$/;
print $_;
$n++;
}
close(ME);
exit ;
}
if ( $opt_s ) {
$opt_s =~ s/[\(\)\[\]]//g;
@sparks = split(/[,;. ]+/, $opt_s);
} else {
@sparks = ( 3, 4, 5, 6, 7, 8, 11, 12, 13, 14, 15);
}
if ( $#ARGV != 0 ) {
print "Usage: $0 [options] <gr-file>\n;";
print "Use -h option to get details\n";
exit 1;
}
$gr_file = $ARGV[0];
($basename = $gr_file) =~ s/\.gr//;
$rts_file = $basename . ".rts"; # "RTS";
$gran_file = "g.ps"; # $basename . ".ps";
#$rts_file = $gr_file;
#$rts_file =~ s/\.gr/.rts/g;
if ( $opt_o ) {
$va_file = $opt_o;
$va_dvi_file = $va_file;
$va_dvi_file =~ s/\.tex/.dvi/g;
$va_ps_file = $va_file;
$va_ps_file =~ s/\.tex/.ps/g;
} else {
$va_file = "va.tex";
$va_dvi_file = "va.dvi";
$va_ps_file = "va.ps";
}
if ( $opt_t ) {
$template_file = $opt_t;
} else {
$template_file = "TEMPL";
}
$tmp_file = ",t";
}
# -----------------------------------------------------------------------------
sub print_verbose_message {
print "Sparks: (" . join(',',@sparks) . ")\n";
print "Files: .gr " . $gr_file . " template " . $template_file .
" va " . $va_file . "\n";
}
# -----------------------------------------------------------------------------
|