]> git.ipfire.org Git - thirdparty/zstd.git/commit
Align decompress sequences loop to 32+16 bytes 2050/head
authorNick Terrell <terrelln@fb.com>
Thu, 19 Mar 2020 02:42:07 +0000 (19:42 -0700)
committerNick Terrell <terrelln@fb.com>
Tue, 24 Mar 2020 02:40:31 +0000 (19:40 -0700)
commit8d0ee37ac0574908a1b8169180ca671c88b66903
tree9a9c30adbfc9ebf361597ee3dcc309696bf96a18
parent66607d0eac54a99946ca14fee6af29fc525275c0
Align decompress sequences loop to 32+16 bytes

The alignment is added before the loop, so this shouldn't hurt
performance in any case. The only way it hurts is if there is already
performance instability, and we force it to be stable but in the bad
case.

This consistently gets us into the good case with gcc-{7,8,9} on an
Intel i9-9900K and clang-9. gcc-5 is 5% worse than its best case but has
stable performance. We get consistently good behavior on my Macbook Pro
compiled with both clang and gcc-8. It ends up in the 50% from DSB and
50% from MITE case, but the performance is the same as the 85% DSB case,
so thats fine.
lib/decompress/zstd_decompress_block.c