Admin/profiling_report
author blanchet
Thu, 28 Jul 2011 11:43:45 +0200
changeset 44868 578460971517
parent 36866 51af1657263b
permissions -rwxr-xr-x
fixed lambda concealing
     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);