Admin/profiling_report
author blanchet
Mon May 19 23:43:53 2014 +0200 (2014-05-19)
changeset 57008 10f68b83b474
parent 36859 51af1657263b
permissions -rwxr-xr-x
use E 1.8's auto scheduler option
     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);