1785 Commits

Author SHA1 Message Date
Marcus Holland-Moritz
956294b6b9 refactor: check source validity in multi_queue_block_merger 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
69ffdf3e28 refactor: make merged_block_holder more flexible 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
181427c6ab refactor: expose block_holder_type in multi_queue_block_merger 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
25d5390704 refactor: add safety checks to block manager 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
36cbd83ba4 refactor: replace block_merger is_last with separate call 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
442e7b8fd5 refactor: use callback for delayed updating of physical block numbers 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
a37c2716c8 feat: make number of segmenter worker threads configurable 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
18cd20ea03 fix: use correct worker pool, otherwise we can stall 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
5579b35a52 refactor: use holders to simplify releasing merged blocks 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
65a954b681 refactor: naming in multi_queue_block_merger 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
20e4a83b92 feat: add multi queue block merger + unit tests 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
f2249f3b6c doc: update TODOs 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
d59ff62ad7 build: add example for setting per-file compile options 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
fb8c01cf18 Clean up console writer 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
f8e7f66b6a Output metadata size in verbose mode 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
bff7e1b4b0 Support validation function in integral_value_parser 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
5046930d17 Use unsigned bytes in cyclic hash 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
3dd82bc085 Use zstd instead of lz4 for incompressible categorizer 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
b101694d06 Fix segmenter for the case when segmenting is disable 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
bad2c5e057 Factor out zstd context manager 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
9ac06fe40d More verbose segmenter logging 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
f9a1db48ee Simplify and speed up nilsimsa computation 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
b4becd5d48 Simplify multiversioning using target_clones() 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
f82fb8509e Add nilsimsa update benchmark 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
acc4e7d7b4 Remove unused nilsimsa code 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
54e5723f01 Move progress contexts to bottom of output 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
5f3209028d Merge chunks 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
79d8641998 Check for mergeable chunks and refactor chunk analysis 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
8eb4188277 Support operator[] for chunk_range 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
1ab991f8aa Fix & refine hashing/scanning/categorizing progress 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
bfacd2e962 Suppress warnings with multiversioning 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
dd7d984ebf Slightly increase nilsimsa parameters 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
166fa057c2 Cache bit vector pointers and factor out distance ordering 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
743587e0cc Tiny tweak to similarity ordering 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
bfae0ea210 Optimize distance computation for similarity ordering 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
b82d84fcdf Show single file block refs / chunk counts in dwarfsck 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
33d3de8193 Use C++20 bit operations in segmenter 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
2e2dd4fd5c Implement deterministic category ordering 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
c82f4dc1f7 libfmt 10.1.0 -> 10.1.1 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
4fc2705894 Remove overall speedometer 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
4d59bc677f Benchmark library tweaks 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
d280d470ec Save homedir state in docker container 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
05425c85ae Add simple segmenter benchmark 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
bf4da2fb36 Specialized segmenters for typical PCM audio granularities
These are significantly faster (20-35%) than the variable
granularity segmenter.
2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
88f2d44f05 More detailed verbose logging in scanner & segmenter 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
bef05cbfcf Show libarchive version in dwarfsextract 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
1523239b14 Show compression library versions 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
fc002a6cfa Try without -fno-omit-frame-pointer 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
1ae81075f4 Only enable -fno-omit-frame-pointer for static builds 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
bbb33af4ca Let's try building on Ubuntu 23.04 2023-12-17 23:02:28 +01:00