]> git.ipfire.org Git - thirdparty/zstd.git/commit
Integrate ldm with zstdmt
authorNick Terrell <terrelln@fb.com>
Wed, 7 Mar 2018 03:51:21 +0000 (19:51 -0800)
committerNick Terrell <terrelln@fb.com>
Mon, 19 Mar 2018 23:29:03 +0000 (16:29 -0700)
commit94c77710a90c982ce22d776fa34ab5f3dc5e0446
tree43e9b8bcb023cf1b6cab4c1cc9f36873bb4687e5
parentaa4dbd09a19e27bb671f594905361f5c174c5405
Integrate ldm with zstdmt

Integrate ldm into zstdmt by running it in serial and in order in the first
step of each job, in the same place as the hash gets updated. The input
buffer is sized to fit the whole LDM window and 2 full buffers of slack.
Input buffers cannot be reused until the LDM step is done with them.
After the LDM step is finished, the jobs don't actually have access to the
full window, only the overlap.

Tested on a few different multi-GB files with and without sanitizers,
and with different numbers of threads.
lib/compress/zstdmt_compress.c