Christopher Berner

Results 118 comments of Christopher Berner

> Are pages freed in this way also preferentially used for new allocations during the commit? Not explicitly, but pages are allocated in ascending order, so you end up with...

Is it possible to split the indexing to process different groups of blocks in parallel and then stitch them together? Like thread1 process blocks 0 to 100k, thread2 processes 100k...

I see. That's unfortunate that the placeholders would be bigger. One thing it would give you is that you could parallelize as much as you wanted, and even make it...

I tried `madvise` and its perf is terrible =P Before: ``` redb: Bulk loaded 1000000 items in 1880ms redb: Wrote 100 individual items in 229ms redb: Wrote 100 x 1000...

Ah yes, that's the maximum size. So you should set that to the max size you want, and it will start out at a much smaller size and grow dynamically....

Ah, unfortunately dynamic growth is not supported on Windows. The person who contributed the Windows support explained a bit about why it is difficult: https://github.com/cberner/redb/pull/369

This does not look promising from benchmarking two concurrent database writes. Running the lmdb_benchmark script in two threads leads to: ``` redb: Bulk loaded 100000 items in 964ms redb: Bulk...

Seems worth taking another look at this given the low throughput findings for large databases in #344

I haven't given it serious thought yet and don't know very much about NVMe Zoned Namespaces. I'd be open to considering it though, if you want to write up a...

I don't have any experience working with block devices, but as long as the implementation is portable, reasonably simple, and also provides a significant performance improvement then it seems interesting...