Here's 16K JSON blobs being written:
Here's 16K JSON blobs being written:
ReDB uses 4x more disk space, and writes 6x slower. Interestingly, it's also ~5x slower in point reads - I think ReDB is not handling large values well; haven't read too much into its implementation.
ReDB uses 4x more disk space, and writes 6x slower. Interestingly, it's also ~5x slower in point reads - I think ReDB is not handling large values well; haven't read too much into its implementation.
fjall uses LZ4 compression
fjall uses LZ4 compression
16K blocks, Zipfian point reads, with 64M cache
There are a bunch of reasons why: better file I/O (v3 does not use fseek anymore), skipping superfluous memcpys when reading & decompressing blocks, better block format that does not require a deser. step...
16K blocks, Zipfian point reads, with 64M cache
There are a bunch of reasons why: better file I/O (v3 does not use fseek anymore), skipping superfluous memcpys when reading & decompressing blocks, better block format that does not require a deser. step...
This is with large (32K) data blocks and LZ4 compression, the default block size should be more something around ~4µs per read.
This is with large (32K) data blocks and LZ4 compression, the default block size should be more something around ~4µs per read.
This is using jemalloc; the impact could be higher for other memory allocators.
This is using jemalloc; the impact could be higher for other memory allocators.