README: +DWZ vs. DT5 stddev
[massrebuild.git] / README
diff --git a/README b/README
index 5209fdc..c74a50e 100644 (file)
--- a/README
+++ b/README
@@ -13,3 +13,14 @@ passwd
 passwd test
 scp -p run* stat debuginfosize test@
 vim run
+
+
+# DWZ vs. DT5 stddev:
+(cd build;find *src.rpm.dt5.rpm.rpms/ -type f -name "*.rpm" -printf "%p %s\n"|sed 's/.src.rpm.dt5.rpm/.src.rpm/'|sort >../rpmsizes-dt5)
+(cd build;find *src.rpm.rpms/         -type f -name "*.rpm" -printf "%p %s\n"                                   |sort >../rpmsizes-dwz)
+perl -e 'open F,"rpmsizes-dt5" or die;while (<F>) { m{^([^/]*)/} or die $_; $a{$1}=1; };close F;open F,"rpmsizes-dwz" or die;while (<F>) { m{^([^/]*)/} or die $_; next if !$a{$1}; print; } close F;' >rpmsizes-dwz-havingdt5
+# diff -u <(sed 's/ .*//' <rpmsizes-dwz-havingdt5) <(sed 's/ .*//' <rpmsizes-dt5)|less # OK as some /usr/lib/debug/.dwz/ are the only file of base *-debuginfo.rpm
+perl -lne 'm{^([^/]*)/[^/]* (\d+)$} or die;$p{$1}+=$2;END{for (sort keys %p){print $p{$_}}}' <rpmsizes-dwz-havingdt5 >rpmsizes-dwz-havingdt5.sum
+perl -lne 'm{^([^/]*)/[^/]* (\d+)$} or die;$p{$1}+=$2;END{for (sort keys %p){print $p{$_}}}' <rpmsizes-dt5           >rpmsizes-dt5.sum
+wc -l rpmsizes-dwz-havingdt5.sum rpmsizes-dt5.sum
+perl -MList::Util -MStatistics::Basic::StdDev -MData::Dumper -le 'sub r($){my($fn)=@_;open F,$fn or die;my @R;while (<F>) { /^(\d+)\n$/ or die $_; push @R,$1; } close F;return @R;}my @A=r "rpmsizes-dwz-havingdt5.sum";my @B=r "rpmsizes-dt5.sum";die if @A!=@B;my @C;for my $i (0..$#A) { my $C=$A[$i]/$B[$i];push @C,$C; } print "sum/sum=".(1-List::Util::sum(@A)/List::Util::sum(@B));print "avg(ratio)=".(1-List::Util::sum(@C)/@C);print "stddev=".Statistics::Basic::stddev(\@C);print Dumper \@C;'|less