Zstd streaming compression/decompression is a CPU-only process that do not involve the ruby interpreter.
Therefore, it is possible to unlock the GVL, allowing for parallel multiple threads, thus fully utilizing CPU resources.
This program demonstrates the difference:
(in benckmarks)
Zstd streaming compression/decompression is a CPU-only process that do not involve the ruby interpreter. Therefore, it is possible to unlock the GVL, allowing for parallel multiple threads, thus fully utilizing CPU resources.
This program demonstrates the difference: (in
benckmarks
)Re-introduce https://github.com/SpringMT/zstd-ruby/pull/53
Streaming Compression
Without this patch:
With the patch:
Streaming Decompression
Without this patch:
With the patch: