Jan Kratochvil wrote on Thu, Sep 24, 2020:
> That talk doesn't load for me, sorry if I ask something
answered in
> there.
I have added a title there now but the URL loads for me even in lynx+wget.
Yeah sorry it finally loaded after 10+ minutes, that was weird.
Copy-pasted it at the bottom of this mail. I do not know the talk but
TL;DR
existing DWARF contains some dead DIEs - unused/deduplicated functions and also
-fdebug-types-section declarations/skeletons which can be removed or converted
to direct DIE references respectively. That way one could reduce the size like
DWZ does but without needing any new complicated support in DWARF consumers.
Ok, avoiding duplicate data makes sense there is quite a lot in there.
That is orthogonal - that is one can add it to DWZ or
-fdebug-types-section
the same way. It would be for another Fedora Change proposal but I do not
think it matters for F-33 as it already implements:
https://fedoraproject.org/wiki/Changes/BtrfsByDefault#Compression
Good point. I did think of rpm size (double compression doesn't work
well and rpms use better compression than zlib) but not filesystem
compression.
Everyone won't benefit from that right away but I guess it makes sense.
I haven't yet checked whether that applies to /usr/lib/debug/ by
default.
btrfs is using zstd which has better performance than zlib. I was considering
adding an ELF section compression extension for zstd but with btrfs
transparent compression that looks as not useful.
I don't have very much there but it does work well:
# compsize /usr/lib/debug/
Processed 720 files, 2232 regular extents (2239 refs), 1 inline.
Type Perc Disk Usage Uncompressed Referenced
TOTAL 32% 74M 229M 230M
none 100% 644K 644K 644K
zstd 32% 73M 229M 229M
That 3.3% size reduction=advantage of DWZ against
-fdebug-types-section is
calculated for *-debuginfo.rpm (3.3% is for the whole distribution incl.
binaries, for debug/ itself it is 6.35%). Also it is calculated for DWARF-4,
F-34 will hopefully switch to DWARF-5 (which is smaller by 10-20%) but DWZ is
not yet ported to DWARF-5 so it is impossible to compare -fdebug-types-section
vs. DWZ size for DWARF-5.
Ok.
That definitely makes more sense to me, thanks for clarifying this.
--
Dominique