dtneededsize: +duplicate commons size
authorJan Kratochvil <jan.kratochvil@redhat.com>
Sun, 6 Sep 2020 11:22:17 +0000 (13:22 +0200)
committerJan Kratochvil <jan.kratochvil@redhat.com>
Sun, 6 Sep 2020 11:22:17 +0000 (13:22 +0200)
dtneededsize

index 0b15cc5..1caeb10 100755 (executable)
@@ -112,6 +112,7 @@ find {
 #}
 
 my $dwzsizeall=0;
+my $dwzsizeduplall=0;
 my $dtsizeall=0;
 my $computed=0;
 BINFN: for my $binfn (@DEBUG) {
@@ -151,6 +152,7 @@ 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)) {
@@ -169,23 +171,27 @@ BINFN: for my $binfn (@DEBUG) {
     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";