Admin/profiling_report
author Walther Neuper <wneuper@ist.tugraz.at>
Tue, 07 Feb 2017 08:57:42 +0100
changeset 59316 3a60188d9cc3
parent 59180 85ec71012df8
permissions -rwxr-xr-x
separate structure Model : MODEL
     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);