]> git.ipfire.org Git - thirdparty/elfutils.git/commit
debuginfod: PR30378: better compression for _files table
authorFrank Ch. Eigler <fche@redhat.com>
Fri, 5 May 2023 17:56:23 +0000 (13:56 -0400)
committerFrank Ch. Eigler <fche@redhat.com>
Tue, 9 May 2023 16:14:21 +0000 (12:14 -0400)
commita2f3f09745f781663eb874a4a86b5781cb423115
tree17e89b25706b6aa2ee00ebc5df29bce633fe49f7
parente65bbdde97f4094274dbdc327147e9cfe1fcc9a0
debuginfod: PR30378: better compression for _files table

Split the _files table into two links into a new _fileparts table,
interning the dirname and basename of each file name string.  This
reduces storage requirements for many thousands of almost-identical
long paths that are evident in large builds like kernels.

This is unfortunately a schema-breaking change, so requires reindexing
of the corpus.

While in the vicinity, the file scan work queue is changed from a
<set> to an <unordered_set>.  The intent is that files be scanned in a
more random sequence instead of sorted.  If they're sorted, then files
that contain errors will tend to be retried over and over again at the
next scan cycle, even at the expense of making progress on the other
files in the queue.

Signed-off-by: Frank Ch. Eigler <fche@redhat.com>
debuginfod/debuginfod.cxx
tests/run-debuginfod-extraction.sh