Christopher Berner
Christopher Berner
Currently they're returned in ascending order. That's very likely to become a guarantee, but since it's an implementation detail, I'm waiting to document it until the file format is stable
Would a separate method on `Table` to retrieve just that table's stats work for you? I'd rather not add it to DatabaseStats, because then it's size in memory would be...
Hmm, ya I see. How would you end up with a table that you didn't know about? It's not exactly pretty, but to find out the type of a table...
Hmm, ok lemme think this over. Perhaps I can change `list_tables` to return structs that have the name, and also allow you to fetch the stats. Alternately, what if I...
Very unlikely, because that could cause portability issues: type alignment is architecture dependent. I would also be surprised if the performance difference was significant. In most cases you can use...
I see. Supporting external libraries that require alignment isn't one that I had considered. Has anyone tried porting roaring bitmaps to Rust and removing the alignment requirements? All the benchmarks...
Ah yes, I can see why that's expensive. Is it possible to instead borrow the `&[u8]` that represents the roaring bitmap data, and read the byte as u32, u64...etc as...
> However, [performance cost can be significant on some arch like the ARMv7 (Apple Mac M1 is an ARMv8)](https://dwrensha.github.io/capnproto-rust/2020/01/11/unaligned-memory-access.html) where an unaligned instruction generates four instructions instead of two when...
It already reuses pages via [this mechanism](https://github.com/cberner/redb/blob/8c1c07fdb481bb556fc9ff85f05d2c477ee29d61/src/tree_store/page_store/page_manager.rs#L1359): if a page is freed that is "uncommitted" (allocated during the transaction) then it is immediately freed for reuse. > This also makes...
I did have one other idea for speeding up ord though. Can you parallelize any of your processing? I'm pretty sure I can make this work: #112