Wednesday, March 16, 2011

Zhuff : new version with multi-threading (v0.7)

 After all these experiments, it is only logical to bring multi-threading capabilities to Zhuff.
And improvements are quite significant : on a pure in-memory comparison, 2 threads means (almost) twice faster, damn close to linear ramping.

Similar to LZ4, i've selected block division method due to its simplicity and parallel ramp-up capability. The blocks are a bit smaller, to preserve buffers memory.

Although more complex than LZ4, Zhuff is nonetheless fast enough to exhaust any mechanical HDD bandwidth with less than a single core. You will therefore need something faster to experience Zhuff speed on multi-cores systems, something like a RAM Drive.

Even then, Zhuff is likely to reach RAM Drive speed limits on quad-core systems, something i can't test myself, but would be glad to get reports on.

versionthreadsCompression RatioSpeedDecoding
Zhuff0.7-t12.584147 MB/s278 MB/s
Zhuff0.7-t22.584285 MB/s550 MB/s

You can download Zhuff on its new homepage.