Rust๋กœ ์ž‘์„ฑ๋œ ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ ์••์ถ• ๋ฐ ์••์ถ• ํ’€๊ธฐ ์œ ํ‹ธ๋ฆฌํ‹ฐ์ธ crabz 0.7 ์ถœ์‹œ

์œ ์‚ฌํ•œ pigz ์œ ํ‹ธ๋ฆฌํ‹ฐ์™€ ์œ ์‚ฌํ•˜๊ฒŒ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ๋ฐ์ดํ„ฐ ์••์ถ• ๋ฐ ์••์ถ• ํ•ด์ œ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” crabz ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋‘ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” ๋ชจ๋‘ ๋ฉ€ํ‹ฐ ์ฝ”์–ด ์‹œ์Šคํ…œ์—์„œ ์‹คํ–‰๋˜๋„๋ก ์ตœ์ ํ™”๋œ ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ ๋ฒ„์ „์˜ gzip์ž…๋‹ˆ๋‹ค. Crabz ์ž์ฒด๋Š” C(๋ฐ ๋ถ€๋ถ„์ ์œผ๋กœ C++)๋กœ ์ž‘์„ฑ๋œ pigz ์œ ํ‹ธ๋ฆฌํ‹ฐ์™€ ๋‹ฌ๋ฆฌ Rust ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ ๊ฒฝ์šฐ์— ๋”ฐ๋ผ 50%์— ๋‹ฌํ•˜๋Š” ์ƒ๋‹นํ•œ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ์ž ํŽ˜์ด์ง€์—๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ํ‚ค์™€ ๋ฐฑ์—”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‘ ์œ ํ‹ธ๋ฆฌํ‹ฐ์˜ ์†๋„๋ฅผ ์ž์„ธํžˆ ๋น„๊ตํ•œ ๋‚ด์šฉ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ธก์ •์€ 9GB DDR3950 RAM์„ ๊ฐ–์ถ˜ AMD Ryzen 16 64X 4์ฝ”์–ด ํ”„๋กœ์„ธ์„œ ๊ธฐ๋ฐ˜ PC์™€ Ubuntu 20 ์šด์˜ ์ฒด์ œ๋ฅผ ํ…Œ์ŠคํŠธ ๋ฒค์น˜๋กœ ์‚ฌ์šฉํ•˜์—ฌ XNUMXGB csv ํŒŒ์ผ์—์„œ ์ˆ˜ํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์„ฑ๋Šฅ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋ถ„์„์„ ์œ„ํ•ด ๊ฐ„๋‹จํ•œ ๋ณด๊ณ ์„œ๊ฐ€ ์ค€๋น„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • zlib ๋ฐฑ์—”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” crabz๋Š” ์„ฑ๋Šฅ์ด pigz์™€ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.
  • zlib-ng ๋ฐฑ์—”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด pigz๋ณด๋‹ค ์ตœ๋Œ€ XNUMX๋ฐฐ ๋น ๋ฆ…๋‹ˆ๋‹ค.
  • Rust ๋ฐฑ์—”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” crabz๋Š” pigz๋ณด๋‹ค ์•ฝ๊ฐ„(5-10%) ๋น ๋ฆ…๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ์ž์— ๋”ฐ๋ฅด๋ฉด, crabz๋Š” pigz์— ๋น„ํ•ด ๋” ๋น ๋ฅธ ์†๋„ ์™ธ์—๋„ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • deflate_rust ๋ฐฑ์—”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” crabz๋Š” ์™„์ „ํžˆ Rust๋กœ ์ž‘์„ฑ๋œ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ๋” ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค.
  • crabz๋Š” ํฌ๋กœ์Šค ํ”Œ๋žซํผ์ด๋ฉฐ Windows๋ฅผ ์ง€์›ํ•˜๋ฏ€๋กœ ๋” ๋งŽ์€ ์ฐธ๊ฐ€์ž๋ฅผ ์œ ์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • crabz๋Š” ๋” ๋งŽ์€ ํ˜•์‹(Gzip, Zlib, Mgzip, BGZF, Raw Deflate ๋ฐ Snap)์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

์™„๋ฒฝํ•˜๊ฒŒ ์ž‘๋™ํ•˜์ง€๋งŒ ๊ฐœ๋ฐœ์ž๋Š” crabz๋ฅผ GZP ํฌ๋ ˆ์ดํŠธ ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•˜๋Š” CLI ๋„๊ตฌ์˜ ๊ฐœ๋…์  ํ”„๋กœํ† ํƒ€์ž…์œผ๋กœ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€