author | wenzelm |
Wed, 06 Jul 2005 10:41:38 +0200 | |
changeset 16705 | 33f38450cab6 |
parent 16693 | 75f39d66425d |
child 16858 | fade1d3a2995 |
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@16671 | 30 |
push @output, (sprintf "%8d %s\n", $log{$fun}, $fun); |
wenzelm@16671 | 31 |
} |
wenzelm@16671 | 32 |
|
wenzelm@16671 | 33 |
print (sort @output); |