ZSTD_CCtxParams_setParameter(cctxParams, ZSTD_c_targetCBlockSize, ZSTD_TARGETCBLOCKSIZE_MAX)
์ฌ์ฉํ๋ฉด ์ต์ ์ํ์ค (> 1kB)๊ฐ ํฐ ์์ค์ ๋ํด ์์ถ๋ฅ ์ด ๋จ์ด์ง๋๋ค.
์ถ์ ๋ CSS์ ๋ฐ๋ณต ๋ ์ฐ๊ฒฐ ์ฌ์ฉ :
targetCBlockSize == ZSTD_TARGETBLOCKSIZE_MAX ์ค์ :
bootstrap.min.css : 97.31% (13862462 => 13488900 bytes, bootstrap.min.css.zst)
targetCBlockSize๋ฅผ ์ค์ ํ์ง ์๊ณ :
bootstrap.min.css : 0.15% (13862462 => 20476 bytes, bootstrap.min.css.zst)
์ถ๊ฐ ์ฐธ๊ณ : # 2093๊ณผ ๊ด๋ จํ์ฌ ์์ถ ํด์ ์ ๋ธ๋ก ํฌ๊ธฐ๋ฅผ ์ค์ด๋ ค๊ณ ์๋ํ ๊ฒฐ๊ณผ์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. TargetCompressedBlockSize๋ฅผ ์ค์ ํ๋ ๋์ ZSTD_BLOCKSIZEMAX ์์ฒด๊ฐ ๊ฐ์๋์ด ์ต๋ ๋ธ๋ก ํฌ๊ธฐ๋ ๊ฐ์ํ๋ฉด ์์ถ์ ๋ฏธ์น๋ ์ํฅ์ด ํจ์ฌ ์ ์ต๋๋ค.
์ฌ์ฉ ๋ ์์ค๋ ๋ค์ ์์๋ฅผ ํตํด ์ป์์ต๋๋ค.
rm bootstrap.min.css; wget https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css && for i in {1..5}; do cat bootstrap.min.css >> bootstrap_2.min.css; cat bootstrap_2.min.css >> bootstrap.min.css; done && rm bootstrap_2.min.css
์ฌ๊ธฐ์ ์ํคํ ์ฒ์ ๊ด๋ จํ์ฌ ์ง๋ฌธ์ ํ ๊ฒ์ ๋๋ค. targetCBlockSize๋ก ์ธํด ์์ถ๊ธฐ๊ฐ ์์ ํ๋ ๋ธ๋ก ์ธ๋ถ์ ๋ํ ์ง์์ด์๋ ์์ถ ํด์ ๊ธฐ๋ก ๊ณต๊ธ ๋ ๊ฒ์ด๋ผ๊ณ ๊ฐ์ ํฉ๋๊น? ์ฆ, ์์ ๋ฒํผ๋ฆฌ์ค ์คํธ๋ฆฌ๋ฐ ์์ถ ํด์ ๊ธฐ์ ๋๊น?
targetCBlockSize
๋ ์ฒซ ๋ฒ์งธ ๋ฐ์ดํธ์ ์์ถ์ ํธ๋ ์๊ฐ์ ๋จ์ถํ๋ ค๋ ์คํธ๋ฆฌ๋ฐ ์๋๋ฆฌ์ค์์ ์ฌ์ฉ๋๋ "์๋ฏธ"์
๋๋ค. ๋ฐ๋ผ์ ํจํท ํฌ๊ธฐ๊ฐ 4KB ์ธ ๊ฒฝ์ฐ ๋์ ๋ธ๋ก ํฌ๊ธฐ๋ฅผ 4KB๋ก ์ค์ ํ๊ณ ์ฒซ ๋ฒ์งธ ๋ฐ์ดํธ์ ์์ถ์ ํ๊ธฐ ์ ์ ์ ์ฒด 128KB๋ฅผ ๊ธฐ๋ค๋ฆด ํ์์์ด ๊ฐ ํจํท์ ์์ถ์ ํด์ ํ ์ ์์ต๋๋ค.
์ด ์๋๋ฆฌ์ค์์ ๋ฌด์จ ์ผ์ด ์ผ์ด๋๊ณ ์๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ง๋ง ์ ๋ ฅ์ ์ฌ์ฉํ๋ฉด ์ฝ๊ฒ ์ฌํํ๊ณ ์์ ํ ์ ์์ต๋๋ค. ๊ณง ์กฐ์ฌํ๊ฒ ์ต๋๋ค. ๋ณด๊ณ ์์ ์์ธํ ์ฌํ ์ง์นจ์ ๋ค์ ํ ๋ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค!
@dciliske ๋ ๋ฒจ 22์์ ๋ฌธ์ ๋ฅผ ์ฌํํ์ต๋๋ค. zstd-1.4.4์๋ ์กด์ฌํ์ง ์์ผ๋ฏ๋ก ๋ฆด๋ฆฌ์ค๋ก ๋ง๋ค์ง ์์์ต๋๋ค. https://github.com/facebook/zstd/pull/1947 ์์ ์๊ฐ ํ ๊ฒ ๊ฐ์ต๋๋ค
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@dciliske ๋ ๋ฒจ 22์์ ๋ฌธ์ ๋ฅผ ์ฌํํ์ต๋๋ค. zstd-1.4.4์๋ ์กด์ฌํ์ง ์์ผ๋ฏ๋ก ๋ฆด๋ฆฌ์ค๋ก ๋ง๋ค์ง ์์์ต๋๋ค. https://github.com/facebook/zstd/pull/1947 ์์ ์๊ฐ ํ ๊ฒ ๊ฐ์ต๋๋ค