Admin/profiling_report
author blanchet
Tue Dec 07 11:56:53 2010 +0100 (2010-12-07)
changeset 41052 3db267a01c1d
parent 36859 51af1657263b
permissions -rwxr-xr-x
remove the "fin_fun" optimization in Nitpick -- it was always a hack and didn't help much
     1 #!/usr/bin/env perl
     2 #
     3 # Author: Makarius
     4 #
     5 # DESCRIPTION: Simple report generator for Poly/ML profiling output.
     6 
     7 use strict;
     8 
     9 my %log = ();
    10 my @output = ();
    11 
    12 while (<ARGV>) {
    13     if (m,^([ 0-9]{10}) (\S+$|GARBAGE COLLECTION.*$),) {
    14 	my $count = $1;
    15 	my $fun = $2;
    16 	$fun =~ s,-?\(\d+\).*$,,g;
    17 	$fun =~ s,/\d+$,,g;
    18 	if ($count =~ m,^\s*(\d)+$,) {
    19 	    if (defined($log{$fun})) {
    20 		$log{$fun} += $count;
    21 	    } else {
    22 		$log{$fun} = $count;
    23 	    }
    24 	}
    25     }
    26 }
    27 
    28 foreach my $fun (keys %log) {
    29     push @output, (sprintf "%14u %s\n", $log{$fun}, $fun);
    30 }
    31 
    32 print (sort @output);