Andrew Jeffery
4b344ac308
Add sync benchmark
2022-05-20 10:05:08 +01:00
Andrew Jeffery
36857e0f6b
Store seq in clock to remove binary_search_by_key
2022-05-20 10:05:08 +01:00
Andrew Jeffery
b7c50e47b9
Just use get_changes_clock
2022-05-20 10:05:08 +01:00
Andrew Jeffery
933bf5ee07
Return an error when getting clock for missing hash
2022-05-20 10:05:08 +01:00
Andrew Jeffery
c2765885fd
Maintain incremental clocks
2022-05-20 10:05:08 +01:00
Andrew Jeffery
5e088ee9e0
Document clock module and add merge function
2022-05-20 10:05:08 +01:00
Andrew Jeffery
1b34892585
Add num_ops to change to quickly get the len
2022-05-20 10:05:08 +01:00
Andrew Jeffery
0de37d292d
Sort change results from clock search
2022-05-20 10:05:08 +01:00
Andrew Jeffery
b9a6b3129f
Add method to get changes by clock
2022-05-20 10:05:08 +01:00
Andrew Jeffery
11fbde47bb
Use HASH_SIZE const in ChangeHash definition
2022-05-20 10:04:32 +01:00
Andrew Jeffery
e8e42b2d16
Remove need to collect hashes when building bloom filter
2022-05-19 10:41:23 +01:00
Andrew Jeffery
6bce8bf4fd
Use vec with capacity when calculating bloom probes
2022-05-19 10:40:44 +01:00
Andrew Jeffery
d89669fcaa
Add apply benchmarks
2022-05-16 23:13:35 +01:00
Andrew Jeffery
43c4ce76fb
Optimise seek op with patch
2022-05-16 23:07:45 +01:00
Andrew Jeffery
531e434bf6
Optimise seek op
2022-05-16 22:45:41 +01:00
Jerome Gravel-Niquet
7acb9ed0e2
don't remove last actor when there are none
2022-05-16 10:56:10 -04:00
Orion Henry
f6eca5eec6
Merge pull request #362 from jeffa5/range-rev
...
Add tests and fixes for double ended map range iterator
2022-05-12 09:02:05 -07:00
Andrew Jeffery
f373deba6b
Add length assertion
2022-05-11 21:15:50 +01:00
Andrew Jeffery
8f71ac30a4
Add index info to op_tree panic message
2022-05-11 20:26:39 +01:00
Alex Good
4e431c00a1
Implement OpTreeIter::nth correctly
...
The previous implementation of nth was incorrect, it returned the nth
element of the optree but it did not modify the internal state of the
iterator such that future calls to `next()` were after the nth element.
This commit fixes that.
Signed-off-by: Alex Good <alex@memoryandthought.me>
2022-05-09 23:11:18 +01:00
Andrew Jeffery
28a61f2dcd
Add tests and fixes for double ended map range iterator
2022-05-06 09:49:00 +01:00
Andrew Jeffery
7d5eaa0b7f
Move automerge unit tests to new file for clarity
2022-05-05 14:58:22 +01:00
Andrew Jeffery
5b15a04516
Some tidies
2022-05-05 14:52:01 +01:00
Orion Henry
3f746a0dc3
Merge pull request #358 from jeffa5/msrv
...
Use an MSRV in CI
2022-05-04 10:23:58 -04:00
Orion Henry
c43f672924
Merge pull request #356 from automerge/values_range_fix
...
fixed panic in doc.values() - fixed concurrency bugs in range
2022-05-04 10:22:46 -04:00
Orion Henry
fb8f3e5d4e
fixme: performance
2022-05-04 10:09:50 -04:00
Orion Henry
54042bcf96
and unimplemented double ended iterator
2022-05-04 09:50:27 -04:00
Orion Henry
a728b8216b
range -> map_range(), added list_range() values() works on both
2022-05-03 19:27:51 -04:00
Andrew Jeffery
0aab13a990
Set rust-version in cargo.tomls
2022-05-02 21:18:00 +01:00
Orion Henry
291557a019
Merge pull request #350 from jeffa5/opt-prop
...
Optimise prop query
2022-05-02 14:15:53 -04:00
Orion Henry
bcdc8a2752
fmt
2022-05-02 13:32:59 -04:00
Orion Henry
0d3eb07f3f
fix key/elemid bug and rename range to map_range
2022-05-02 13:30:59 -04:00
Alex Good
7f4460f200
Make the OpSet iterator faster
...
The opset iterator was using `OpTreeInternal::get(index)` to fetch each
successive element of the OpSet. This is pretty slow. We make this much
faster by implementing an iterator which is aware of the internal
structure of the OpTree.
This speeds up the save benchmark by about 10%.
Signed-off-by: Alex Good <alex@memoryandthought.me>
2022-05-01 00:07:39 +01:00
Orion Henry
9e6044c128
fixed panic in doc.values() - fixed concurrency bugs in range
2022-04-29 15:11:07 -04:00
Andrew Jeffery
6bf03e006c
Add ability to skip in tree searches
2022-04-28 14:14:03 +01:00
Andrew Jeffery
8baacb281b
Add save and load map benchmarks
2022-04-28 14:14:03 +01:00
Andrew Jeffery
7de0cff2c9
Rework benchmarks to be in a group
2022-04-28 14:14:03 +01:00
Andrew Jeffery
c38b49609f
Remove clone from update
...
The cloning of the op was eating up a significant part of the increment
operation's time. This makes it zero-clone and just extracts the fields
needed.
2022-04-28 14:14:03 +01:00
Andrew Jeffery
db280c3d1d
prop: Skip over nodes
2022-04-28 14:14:03 +01:00
Andrew Jeffery
7dfe311aae
Store keys as well as elemids in visible index
2022-04-28 14:14:03 +01:00
Andrew Jeffery
bb4727ac34
Skip empty nodes in prop query
2022-04-28 14:14:03 +01:00
Andrew Jeffery
bdacaa1703
Use treequery rather than repeated gets
2022-04-28 14:14:03 +01:00
Andrew Jeffery
a388ffbf19
Add some benches
2022-04-28 14:14:03 +01:00
Orion Henry
be33f91346
Merge branch 'experiment'
2022-04-27 11:58:53 -04:00
Andrew Jeffery
ec446f4839
Add favicon
2022-04-23 11:31:58 +01:00
Andrew Jeffery
67da930a40
Add missing lints
2022-04-23 11:15:15 +01:00
Andrew Jeffery
9788cd881d
Add debug impls
2022-04-23 11:14:07 +01:00
Andrew Jeffery
af951f324a
Run cargo fix
2022-04-23 11:06:39 +01:00
Andrew Jeffery
48e397e82f
Add lints
2022-04-23 11:05:43 +01:00
Andrew Jeffery
5b0ce54229
Add logo to docs
2022-04-23 10:46:03 +01:00