diff options
Diffstat (limited to 'ghc/utils/stat2resid/process-gcstats.prl')
-rw-r--r-- | ghc/utils/stat2resid/process-gcstats.prl | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/ghc/utils/stat2resid/process-gcstats.prl b/ghc/utils/stat2resid/process-gcstats.prl deleted file mode 100644 index ff41cf6af9..0000000000 --- a/ghc/utils/stat2resid/process-gcstats.prl +++ /dev/null @@ -1,45 +0,0 @@ -# -# Subroutines which derive information from -# ghc garbage collection stats -- %gcstat -# - -sub max_residency { - local(%gcstats) = @_; - local($i, $max) = (-1, 0); - - if ($gcstats{"collector"} eq "APPEL") { - die "APPEL stats: average residency not possible\n" ; - } - - while(++$i < $gcstats{"gc_no"}) { - $max = $gcstats{"live_$i"} > $max ? - $gcstats{"live_$i"} : $max; - } - $max; -} - -sub avg_residency { - local(%gcstats) = @_; - local($i, $j, $total); - - if ($gcstats{"collector"} eq "APPEL") { - die "APPEL stats: average residency not possible\n" ; - } - - if ($gcstats{"gc_no"} == 0) { return(0); }; - - $i = 0; $j = 0; - $total = $gcstats{"live_$i"} * $gcstats{"mut_user_$i"} / 2; - - while(++$i < $gcstats{"gc_no"}) { - $total += ($gcstats{"live_$i"} + $gcstats{"live_$j"}) - * $gcstats{"mut_user_$i"} / 2; - $j = $i; - }; - - $total += $gcstats{"live_$j"} * $gcstats{"mut_user_$i"} / 2; - - int($total / $gcstats{"mut_user_total"}); -} - -1; |