leveldb
leveldb copied to clipboard
support lz4 compress&uncompress
please help to review my pr. as discussed in https://github.com/google/leveldb/issues/721 , lz4 compress show a good performance on compress&uncompress . I have tested in leveldb_bench :
root@xx:/opt/opensource/level-lz4/leveldb/build# ./db_bench
LevelDB: version 1.23
Date: Wed Jan 12 20:04:52 2022
CPU: 4 * Intel(R) Xeon(R) Gold 6150 CPU @ 2.70GHz
CPUCache: 25344 KB
Keys: 16 bytes each
Values: 100 bytes each (50 bytes after compression)
Entries: 1000000
RawSize: 110.6 MB (estimated)
FileSize: 62.9 MB (estimated)
fillseq : 2.441 micros/op; 45.3 MB/s
fillsync : 2612.438 micros/op; 0.0 MB/s (1000 ops)
fillrandom : 5.780 micros/op; 19.1 MB/s
overwrite : 10.133 micros/op; 10.9 MB/s
readrandom : 12.942 micros/op; (864322 of 1000000 found)
readrandom : 11.557 micros/op; (864083 of 1000000 found)
readseq : 0.348 micros/op; 317.5 MB/s
readreverse : 0.439 micros/op; 251.8 MB/s
compact : 2026325.000 micros/op;
readrandom : 9.479 micros/op; (864105 of 1000000 found)
readseq : 0.377 micros/op; 293.8 MB/s
readreverse : 0.422 micros/op; 262.4 MB/s
fill100K : 2655.037 micros/op; 35.9 MB/s (1000 ops)
crc32c : 1.346 micros/op; 2901.7 MB/s (4K per op)
snappycomp : 40.606 micros/op; 96.2 MB/s (output: 55.1%)
snappyuncomp : 2.695 micros/op; 1449.3 MB/s
lz4comp : 4.279 micros/op; 912.9 MB/s (output: 55.2)
lz4uncomp : 0.494 micros/op; 7905.0 MB/s