Admin/profiling_report
changeset 64311 3d5e7719e878
parent 64310 3584841f2d2c
child 64312 1c7b77286ed0
equal deleted inserted replaced
64310:3584841f2d2c 64311:3d5e7719e878
     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);