wenzelm@16671: #!/usr/bin/env perl wenzelm@16671: # wenzelm@16671: # Author: Makarius wenzelm@16671: # wenzelm@16671: # DESCRIPTION: Simple report generator for Poly/ML profiling output. wenzelm@16671: wenzelm@16671: use strict; wenzelm@16671: wenzelm@16671: my %log = (); wenzelm@16671: my @output = (); wenzelm@16671: wenzelm@16671: while () { wenzelm@16693: if (m,^([ 0-9]{10}) (\S+$|GARBAGE COLLECTION.*$),) { wenzelm@16671: my $count = $1; wenzelm@16671: my $fun = $2; wenzelm@16705: $fun =~ s,-?\(\d+\).*$,,g; wenzelm@16705: $fun =~ s,/\d+$,,g; wenzelm@16671: if ($count =~ m,^\s*(\d)+$,) { wenzelm@16671: if (defined($log{$fun})) { wenzelm@16671: $log{$fun} += $count; wenzelm@16671: } else { wenzelm@16671: $log{$fun} = $count; wenzelm@16671: } wenzelm@16671: } wenzelm@16671: } wenzelm@16671: } wenzelm@16671: wenzelm@16671: foreach my $fun (keys %log) { wenzelm@17001: push @output, (sprintf "%14u %s\n", $log{$fun}, $fun); wenzelm@16671: } wenzelm@16671: wenzelm@16671: print (sort @output);