#}
my $dwzsizeall=0;
+my $dwzsizeduplall=0;
my $dtsizeall=0;
my $computed=0;
BINFN: for my $binfn (@DEBUG) {
}
#warn Dumper $binfn,\%l;
my $dwzsizetot=0;
+ my $dwzsizedupltot=0;
my $dtsizetot=0;
my %dwzcommons;
for my $l (keys(%l)) {
my $dwzsize=$ref->[1];
die if !defined $dwzsize;
$dwzsizetot+=$dwzsize;
+ $dwzsizedupltot+=$dwzsize;
$computed++;
my $dwzcommon=$ref->[0];
next if $dwzcommon eq "nodwzcommon";
die if $dwzcommon eq "isdwzcommon";
- next if $dwzcommons{$dwzcommon}++;
+ my $duplicate=$dwzcommons{$dwzcommon}++;
my $dwzcommonref=$D{$dwzcommon};
die if !$dwzcommonref;
die if $dwzcommonref->[0] ne "isdwzcommon";
die if $dwzcommonref->[2] ne "NA";
my $dwzcommonsize=$dwzcommonref->[1];
- $dwzsizetot+=$dwzcommonsize;
+ $dwzsizetot+=$dwzcommonsize if !$duplicate;
+ $dwzsizedupltot+=$dwzcommonsize;
}
print "$binfn: dwzsizetot=$dwzsizetot dtsizetot=$dtsizetot\n";
warn "$binfn: ".Dumper(\%dwzcommons);
$dwzsizeall+=$dwzsizetot;
+ $dwzsizeduplall+=$dwzsizedupltot;
$dtsizeall+=$dtsizetot;
# warn "$binfn done\n".Dumper([sort keys(%l)]);
}
-print "dwzsizeall=$dwzsizeall dtsizeall=$dtsizeall =".$dwzsizeall/$dtsizeall."\n";
-print "computed=$computed of DEBUG=".(0+@DEBUG)."\n";
+print "dwzsizeall =$dwzsizeall" ." dtsizeall=$dtsizeall =".$dwzsizeall /$dtsizeall."\n";
+print "dwzsizeduplall=$dwzsizeduplall"." dtsizeall=$dtsizeall =".$dwzsizeduplall/$dtsizeall."\n";
+print "computed=$computed of DEBUG=".(0+@DEBUG)." =".$computed/@DEBUG."\n";