LZ4 compression/decompression performance

Status
Not open for further replies.

eraser

Contributor
Joined
Jan 4, 2013
Messages
147
Just for fun I benchmarked the new lz4 compression algorithm introduced in the latest FreeNAS version on a few different processors. I used the Silesia compression corpus.


Code:
Processor Description                   CompRatio    DecompRatio    lz4 ver
------------------------------------    ------------------------    --------
Intel Pentium 4 @ 3.20 GHz              113.5 MB/s ,  455.2 MB/s    LZ4 v1.4
Intel Core2 Quad Q8400 @ 2.66 GHz       232.9 MB/s ,  892.6 MB/s    LZ4 v1.4
Intel Core2 Quad Q9550 @ 2.83 GHz       245.6 MB/s ,  933.7 MB/s    LZ4 v1.4
Intel Xeon X5450 @ 3.00 GHz             248.1 MB/s ,  953.8 MB/s    LZ4 v1.4
Intel Core2 Quad CPU Q9300 @ 2.50GHz    248.6 MB/s ,  907.1 MB/s    lz4-r101
Intel Core(TM) i5-3550 CPU @ 3.30GHz    413.6 MB/s , 2072.8 MB/s    lz4-r101



The above numbers are for a single thread. Multi-core processors will do better with multiple threads.

I would guess that most people connect to their FreeNAS server over Gigabit ethernet. Notice that even a decade old Pentium 4 can compress data at close to gigabit speeds.

If you benchmark your zfs datasets after enabling compression, remember that zeros compress really well if that's what your benchmark tool uses.

P.S. - The command line I ran was one of the following (depending on which version of LZ4 I had access to):
"lz4c -b silesia.tar" - runs one thread by default
"lz4.exe -T1 -b silesia.tar" - limit to one thread
 
Status
Not open for further replies.
Top