author | paulson |
Wed, 19 Apr 2006 10:43:53 +0200 | |
changeset 19449 | b07e3bca20c9 |
parent 17001 | 51ff2bc32774 |
child 36866 | 51af1657263b |
permissions | -rwxr-xr-x |
wenzelm@16671 | 1 |
#!/usr/bin/env perl |
wenzelm@16671 | 2 |
# |
wenzelm@16671 | 3 |
# $Id$ |
wenzelm@16671 | 4 |
# Author: Makarius |
wenzelm@16671 | 5 |
# |
wenzelm@16671 | 6 |
# DESCRIPTION: Simple report generator for Poly/ML profiling output. |
wenzelm@16671 | 7 |
|
wenzelm@16671 | 8 |
use strict; |
wenzelm@16671 | 9 |
|
wenzelm@16671 | 10 |
my %log = (); |
wenzelm@16671 | 11 |
my @output = (); |
wenzelm@16671 | 12 |
|
wenzelm@16671 | 13 |
while (<ARGV>) { |
wenzelm@16693 | 14 |
if (m,^([ 0-9]{10}) (\S+$|GARBAGE COLLECTION.*$),) { |
wenzelm@16671 | 15 |
my $count = $1; |
wenzelm@16671 | 16 |
my $fun = $2; |
wenzelm@16705 | 17 |
$fun =~ s,-?\(\d+\).*$,,g; |
wenzelm@16705 | 18 |
$fun =~ s,/\d+$,,g; |
wenzelm@16671 | 19 |
if ($count =~ m,^\s*(\d)+$,) { |
wenzelm@16671 | 20 |
if (defined($log{$fun})) { |
wenzelm@16671 | 21 |
$log{$fun} += $count; |
wenzelm@16671 | 22 |
} else { |
wenzelm@16671 | 23 |
$log{$fun} = $count; |
wenzelm@16671 | 24 |
} |
wenzelm@16671 | 25 |
} |
wenzelm@16671 | 26 |
} |
wenzelm@16671 | 27 |
} |
wenzelm@16671 | 28 |
|
wenzelm@16671 | 29 |
foreach my $fun (keys %log) { |
wenzelm@17001 | 30 |
push @output, (sprintf "%14u %s\n", $log{$fun}, $fun); |
wenzelm@16671 | 31 |
} |
wenzelm@16671 | 32 |
|
wenzelm@16671 | 33 |
print (sort @output); |