Hi author here, first of all, thank you for taking time to read the AI slop, you probably already spend more time than I do on this repo, appreciated!
The inline key: yes, it applies to all kinds of integers and strings, and it exposes InlineKey traits that allow you to implement your own inline prefix.
The checklist items: I forget to cross them and they are all implemented, although I think the checklist item has nothing to do with bbtree. but this is definitely a flaw.
hugmynutus 7 hours ago [-]
writing a macro to implement most common integers would've been a time saving.
I also appreciate your paper/work on bf-tree, I started a hobbyist filesystem based on it.
jared_hulbert 13 hours ago [-]
Very nice work. I'm working on stuff... adjacent to this I guess. I've been harping on the ideas that we have to be much more willing to reach for intrinsics, be laser focused on the cache lines, treat DRAM more like an async block device, but I can't believe I haven't thought to show the impact of coherence traffic! When I get some time I might try to apply some of my tricks to bbtree. DM me. I'd love to be able to reach out when I do.
We have smart batching in Dip where we deduplicate work received in what we call a "batched" request. We use BTreeMap to deduplicate work in the preprocessing "scatter" phase.
This deduplication in smart batching is the slowest phase on most bulk write workloads (200k+ inserts in a single request) and takes sometimes up to 3x the time taken for the combined fanout + db writes + db commits + gather.
Will try out with Bbtree and see how it goes.
geraneum 8 hours ago [-]
> Production-ready by formal verification, model checking, deterministic simulation, fuzzing, and lots of testing.
No, he used verus, a rust tool.
And shuffle and ffs. See his docs
tyilo 9 hours ago [-]
> No human can write better code than LLMs.
Bold claim...
ashkankiani 8 hours ago [-]
I had a feeling when I read the title and then started reading the post, "this person must be young, probably a student." I think it's ironic that they're using such unscientific terminology like "fastest" given their background https://xiangpeng.systems/. So clearly, it's in the interest of marketing. Maybe some kind of job advertising/resume thing.
I can almost guarantee that someone has built a custom btree for their specific domain which is faster than this; and that they probably have some or all of the techniques used in this library that are the main contributors to performance, as well. Prefetching is probably the main one they'll claim, and I know personally of some proprietary implementations which have it.
I would like to see some more humility, but I suppose that when you've already resigned your own potential to being below an LLM, then what's the point.
It's not possible or useful for them to grow anymore. Some new frontier model next week will outdo whatever ephemerally useful project this person writes, right? That's the logic?
0c3ca83 9 hours ago [-]
Especially since it's trivially proved wrong by inspecting the code. It's invariably awful.
This is only a statement that could be written by someone that doesn't read the code.
eumon 8 hours ago [-]
[dead]
7 hours ago [-]
eumon 8 hours ago [-]
[dead]
jackbeanstalk20 13 hours ago [-]
[flagged]
Rendered at 09:54:50 GMT+0000 (UTC) with Wasmer Edge.
The inline key: yes, it applies to all kinds of integers and strings, and it exposes InlineKey traits that allow you to implement your own inline prefix.
The checklist items: I forget to cross them and they are all implemented, although I think the checklist item has nothing to do with bbtree. but this is definitely a flaw.
I also appreciate your paper/work on bf-tree, I started a hobbyist filesystem based on it.
https://news.ycombinator.com/item?id=50218616
We have smart batching in Dip where we deduplicate work received in what we call a "batched" request. We use BTreeMap to deduplicate work in the preprocessing "scatter" phase.
This deduplication in smart batching is the slowest phase on most bulk write workloads (200k+ inserts in a single request) and takes sometimes up to 3x the time taken for the combined fanout + db writes + db commits + gather.
Will try out with Bbtree and see how it goes.
What does model checking mean here?
[0]: https://www.cprover.org/cbmc/
Bold claim...
I can almost guarantee that someone has built a custom btree for their specific domain which is faster than this; and that they probably have some or all of the techniques used in this library that are the main contributors to performance, as well. Prefetching is probably the main one they'll claim, and I know personally of some proprietary implementations which have it.
I would like to see some more humility, but I suppose that when you've already resigned your own potential to being below an LLM, then what's the point.
It's not possible or useful for them to grow anymore. Some new frontier model next week will outdo whatever ephemerally useful project this person writes, right? That's the logic?
This is only a statement that could be written by someone that doesn't read the code.