# Thread Count Scaling Part 3. Zstandard

DevFeed: [Thread Count Scaling Part 3. Zstandard](<https://devfeed.tech/articles/thread-count-scaling-part-3-zstandard-13642.md>)

Original publisher: [Read original article](<https://easyperf.net/blog/2024/05/10/Thread-Count-Scaling-Part3>)

Author: Denis Bakhvalov

Published: 2024-05-10T04:00:00Z

Content type: article

Language: en

Sources: [Denis Bakhvalov](<https://devfeed.tech/sources/denis-bakhvalov.md>)

Topics: [Compression](<https://devfeed.tech/topics/compression.md>), [Concurrent Programming](<https://devfeed.tech/topics/concurrent-programming.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [benchmarks](<https://devfeed.tech/tags/benchmarks.md>), [book-chapters](<https://devfeed.tech/tags/book-chapters.md>), [case-study](<https://devfeed.tech/tags/case-study.md>), [compression](<https://devfeed.tech/tags/compression.md>), [fragmentation](<https://devfeed.tech/tags/fragmentation.md>), [memory](<https://devfeed.tech/tags/memory.md>), [memory-pool](<https://devfeed.tech/tags/memory-pool.md>), [performance](<https://devfeed.tech/tags/performance.md>), [performance-analysis](<https://devfeed.tech/tags/performance-analysis.md>), [thread](<https://devfeed.tech/tags/thread.md>), [threads](<https://devfeed.tech/tags/threads.md>)

## AI overview

This article examines why Zstandard compression does not scale linearly with thread count. It discusses compression-level trade-offs, worker-thread interactions, waiting periods, input-buffer shortages, and memory-pool fragmentation, based on an instrumented timeline.

## Source excerpt

Subscribe to my newsletter, support me on Patreon, Github, or by PayPal donation. This blog is an excerpt from the book. More details in the introduction. Next on our list is the Zstandard compression algorithm, or Zstd for short. When compressing data, Zstd divides the input into blocks, and each block can be compressed independently. This means that multiple threads can work on compressing different blocks simultaneously.