Stephen Atherton
|
3b641643cb
|
Fixed line endings.
|
2018-10-18 19:46:58 -07:00 |
|
Stephen Atherton
|
ec1dfe8ae1
|
Some code cleanup / renaming of things for clarity. Improved StringRef hex string output to omit a middle segment when there is an exceeded length limit.
|
2018-08-16 16:22:10 -07:00 |
|
Stephen Atherton
|
2e651f02d3
|
Crash fixes related to initialization and memory ownership in cursor classes.
|
2018-07-25 02:29:17 -07:00 |
|
Stephen Atherton
|
9d391498e8
|
Refactored how key/value memory is held in PrefixTree and VersionedBtree, eliminated many unnecessarily copies of large strings. PrefixTree tests pass but btree is still broken, just committing this because it's a large change set.
|
2018-07-23 03:09:13 -07:00 |
|
Stephen Atherton
|
69b713918b
|
VersionedBTree now uses PrefixTree based pages (with bugs). This required significant changes to both classes because the interface and semantics for building, seeking in, and iterating through pages is very different from the previous trivial approach which was based on serialized vectors. PrefixTree node format rewritten to support optional values without increasing overhead for common node scenarios. PrefixTree::Cursor rewritten to reuse path prefix memory instead of allocating new memory on each movement which is then 'leaked' until destruction. PrefixTree::Cursor movement modified to work better with VersionedBTree::InternalCursor, which was also heavily modified. Added knobs related to key arrangement in PrefixTree nodes. Added StringRef::toHexString() as an alternative to printable() to make reading raw PrefixTree data easier. PrefixTree performance is temporarily worse with this update and VersionedBtree fails its unit test.
|
2018-06-08 03:32:34 -07:00 |
|
Stephen Atherton
|
06100e73ad
|
Rewrote PrefixTree cursor to be bi-directional.
|
2018-05-10 13:33:13 -07:00 |
|
Stephen Atherton
|
4aa3f7a27d
|
Added calculation of per key overhead of PrefixTree relative to zero-overhead prefix compression.
|
2018-05-07 21:52:56 -07:00 |
|
Stephen Atherton
|
72754cd74e
|
Added benchmark/test exploring different write patterns and how they might perform using a page delta based mutation buffer. Added more efficient cursor and PrefixTree::Node access methods for decoding specific members on demand.
|
2018-05-07 17:44:28 -07:00 |
|
Stephen Atherton
|
ee35a85902
|
Initial version of PrefixTree for use as Redwood's page format. Added Dave Scherer's CompactMap prototype and added PrefixTree testing to it along side CompactMap tests.
|
2018-05-01 18:33:14 -07:00 |
|