Commit graph

789 commits

Author SHA1 Message Date
Andrew Jeffery
94162fc15f
Fix logic for updating changed_indices in diffable sequence (#203)
* Fix logic for updating changed_indices

* Add tests for diffable sequence changed_indices
2021-07-13 12:04:49 +01:00
Andrew Jeffery
635339bd6d
Reorder wasm-pack args (#216) 2021-07-13 12:02:54 +01:00
Andrew Jeffery
990d2bb4f3
Reduce deflate compression on the hot path (#186) 2021-07-13 11:04:39 +01:00
Andrew Jeffery
d312409a69
Travis.org -> Travis.com (#211) 2021-07-06 17:21:58 +01:00
Andrew Jeffery
5e99648b36
diffable seq: Box Vector contents (#210)
This makes it so that rebalancing moves less data around thus making the
trace benchmark twice as fast!

I can't believe I didn't try it sooner...
2021-07-06 13:40:57 +01:00
Andrew Jeffery
a033e4ed05
load: Reduce intermediate collects and use iterators more (#208) 2021-07-05 17:27:55 +01:00
Andrew Jeffery
3ca5c68151
load: Don't generate a patch that will just be dropped (#209) 2021-07-05 17:22:23 +01:00
Andrew Jeffery
64114b901d
Check heads when decoding a document (#207) 2021-07-05 17:22:06 +01:00
David Craven
b05d6e690a
Add cards example. (#198) 2021-07-05 16:22:06 +01:00
Andrew Jeffery
a55ea62c66
Return an error to the user when trying to delete a non-existent key (#204)
* Return an error to the user when trying to delete a non-existent key

* Add tests for deleting a missing key
2021-07-01 16:09:58 +01:00
David Craven
5d42e50798
Generic actor (#202)
* No reason to force usage of uuid's.

* Fix tests and benches.
2021-07-01 15:49:35 +01:00
Andrew Jeffery
942627c11b
Update nix (#200)
* Improve flake nix to always use Cargo.nix info

* Update Cargo.nix
2021-06-29 17:52:38 +01:00
Andrew Jeffery
01159056ef
Add dev command for building wasm backend (#199)
* Add dev command for building wasm backend

This aims to reduce the time spent building when testing with the wasm
backend. On my machine `yarn release` takes 20s while `yarn dev` takes
just 2s.

* Separate out building wasm
2021-06-29 17:12:24 +01:00
Andrew Jeffery
78dc394a7a
Fix ambiguous key deserialization (#197) 2021-06-28 18:09:18 +01:00
Orion Henry
3db6f9ef13
Fix Clippy issues, broken tests, formatting issues (#188)
* fix clippy errors

* Bump travis nvm version

* Add smol_str arbitrary

* Fix Err prefix clippy error

* Fix clippy needless-borrow

* Ensure SortedVec sorts on deserialize

Co-authored-by: Andrew Jeffery <dev@jeffas.io>
2021-06-28 13:20:21 +01:00
Andrew Jeffery
b4829ede72
Add makefile for ease of use (#194)
This should allow consistent commands for everyone, including a local ci
check.
2021-06-28 13:02:32 +01:00
Andrew Jeffery
cf42e72662
Add building docs to CI (#192) 2021-06-28 12:59:39 +01:00
Andrew Jeffery
49e4aae673
Don't document automerge-c-v2 due to name clash (#191)
In the future we should rename it or find another way around this.
2021-06-28 12:58:07 +01:00
Andrew Jeffery
14d92e513c
Stop non-empty needs repeating messages (#193) 2021-06-27 14:59:23 +01:00
Vedant Roy
892d356001 Fix interop script 2021-06-25 11:06:25 -07:00
Vedant Roy
b307781c8a Try different commit hash 2021-06-25 11:06:25 -07:00
Vedant Roy
2e1ab65d1d Make benches compile 2021-06-25 11:06:25 -07:00
Vedant Roy
e606937fa0 Update interop tests + review comment 2021-06-25 11:06:25 -07:00
Vedant Roy
132fa001fc Address review comments 2021-06-25 11:06:25 -07:00
Vedant Roy
ca638691d0 Tests pass after rebase 2021-06-25 11:06:25 -07:00
Vedant Roy
aecfcf2c87 Rebase + clippy 2021-06-25 11:06:25 -07:00
Orion Henry
bf3d2447aa throw a proper error on change decode 2021-06-25 11:06:25 -07:00
Vedant Roy
bb83460c44 Remove bad file 2021-06-25 11:06:25 -07:00
Vedant Roy
338ec28992 Satisfy clippy 2021-06-25 11:06:25 -07:00
Vedant Roy
b82463bb87 Tests pass 2021-06-25 11:06:25 -07:00
Vedant Roy
a3a9d0b1fb condense_insert_ops failing 2021-06-25 11:06:25 -07:00
Vedant Roy
14031addd3 Encode Vec<ScalarValue> into type system as ScalarValues 2021-06-25 11:06:25 -07:00
Vedant Roy
9353ae40b2 Remove F32 2021-06-25 11:06:25 -07:00
Vedant Roy
d35fc961e9 Ensure values have same type when constructing MultiElementInsert 2021-06-25 11:06:25 -07:00
Vedant Roy
93f45bcc73 Add comment explaining reason for custom serialization 2021-06-25 11:06:25 -07:00
Vedant Roy
0b76f5100c Add custom serialization for DiffEdit 2021-06-25 11:06:25 -07:00
Vedant Roy
c989033365 Add datatype for MultiSet 2021-06-25 11:06:25 -07:00
Orion Henry
6f92d1583d fix error message 2021-06-25 11:06:25 -07:00
Vedant Roy
14bfe9b6b3 Remove unnecessary newline 2021-06-25 11:06:25 -07:00
Vedant Roy
c377b1f491 Properly update field count 2021-06-25 11:06:25 -07:00
Orion Henry
f267064ed5 test the correct repo/commit 2021-06-25 11:06:25 -07:00
Orion Henry
069aa338b2 strict numbers 2021-06-25 11:06:25 -07:00
Andrew Jeffery
08fd039eb3
Reduce use of new features to build on older Rusts (#184) 2021-06-25 16:03:13 +01:00
Andrew Jeffery
fe5a9a816d
Cleanup ColumnOp in backend and use sort_unstable (#187)
* Use sort_unstable_by for sorting columns

* Use ExpandedOp directly in ColumnEncoder
2021-06-25 14:20:34 +01:00
Andrew Jeffery
0737248f3d Enable lto 2021-06-22 08:40:16 -07:00
Andrew Jeffery
c9869ebf1b Remove debug info for release builds 2021-06-22 08:40:16 -07:00
Andrew Jeffery
885a763766
Calculate pred_for_key before deleting the key (#183) 2021-06-20 12:46:50 +01:00
Andrew Jeffery
1383068064
Backend rearrangements (#177)
* Add SortedVec struct to ensure preds are sorted

* Add into_iter for sortedvec

* Specify capacity of bytes

* Pass docops by value

* Use Cow for operation keys

* More preallocation

* Use swap remove instead of remove to avoid O(n)

* Use default compression level for better balance of performance

* Remove result for incorporate_new_op

* Import actor once

* Allocate for the new value too in LiteralRun

The literalrun will finish with pushing the new `value` onto the vec so
we can allocate for that from the start.

* Set capacity of rangemap

* Preallocate data
2021-06-19 17:26:56 +01:00
Andrew Jeffery
987263b25d
Add SortedVec struct to ensure preds are sorted (#176)
* Add SortedVec struct to ensure preds are sorted

* Add into_iter for sortedvec
2021-06-19 17:25:25 +01:00
Andrew Jeffery
fc1b8f87fb
Use SmolStr in place of String (#182)
Most of the strings are small and so fit nicely in a SmolStr. When they
don't it just reverts to using a normal String.
2021-06-19 16:28:51 +01:00