Commit graph

878 commits

Author SHA1 Message Date
Zixuan Chen
94f481e65e fix: settimeout by default in subscription 2023-03-23 19:09:13 +08:00
Zixuan Chen
4c372359e6 fix: use utf16 by default for text in wasm 2023-03-22 23:23:57 +08:00
Zixuan Chen
490a54d559 feat: expose from loro crate 2023-03-21 11:09:12 +08:00
leeeon233
d8f0dfa673 chore: clean the code 2023-03-21 09:47:24 +08:00
leeeon233
99e48b65ae feat: add simple origin 2023-03-20 21:26:36 +08:00
leeeon233
117155cc54 perf: remove compress 2023-03-20 13:55:20 +08:00
leeeon233
25c1f449be fix: DeltaValue trait add length 2023-03-17 16:33:50 +08:00
leeeon233
625e3332da chore: some todo 2023-03-17 11:11:14 +08:00
leeeon233
39a7e49b2e Merge branch 'main' into feat-transaction 2023-03-17 10:20:04 +08:00
leeeon233
ce007295e1 feat: wasm transaction 2023-03-16 17:27:00 +08:00
leeeon233
e6002d7076 bench: observe txn 2023-03-15 20:43:26 +08:00
leeeon233
dd4e7d5ee8 fix: build event when commit 2023-03-15 18:06:20 +08:00
leeeon233
8f4b5f101a fix: remove events when delete container 2023-03-15 15:49:21 +08:00
leeeon233
c4a62bee37 fix: delta compose delete insert 2023-03-15 14:29:05 +08:00
leeeon233
fba6024754 fix: fuzz 2023-03-15 11:52:47 +08:00
leeeon233
e2e7f9cdac refactor: transaction commits immediately 2023-03-15 10:21:43 +08:00
Zixuan Chen
b807064d0a
refactor: rm owning_ref (#80) 2023-03-14 21:02:51 +08:00
leeeon233
41da98ad38 perf: use reduce instead of fold 2023-03-13 22:13:48 +08:00
leeeon233
f165e2594c fix: prelim transaction 2023-03-13 09:41:29 +08:00
leeeon233
87cc3be884 bench: add txn 2023-03-10 18:21:05 +08:00
leeeon233
06637f55d9 perf: remove delta push clone 2023-03-10 18:00:20 +08:00
leeeon233
04dd105d33 fix: remove auto commit 2023-03-10 16:07:07 +08:00
leeeon233
0ff122b68e feat: transaction decode 2023-03-10 14:22:38 +08:00
leeeon233
89c832e2f2 feat: implicit commit 2023-03-10 10:50:05 +08:00
leeeon233
47d1bb603f feat: loro use auto commit transaction 2023-03-09 20:03:29 +08:00
leeeon233
2d316b4414 fix: modify after merging 2023-03-09 10:45:54 +08:00
leeeon233
f6ad5460cb Merge branch 'perf-encode-size' into feat-transaction 2023-03-09 10:45:29 +08:00
leeeon233
dc6926773c fix: snapshot container error due to temp idx 2023-03-08 20:09:51 +08:00
leeeon233
73598c49ad fix: remove checker to container inner 2023-03-07 21:56:16 +08:00
leeeon233
95ad837a79 fix: container length is inconsistent when fuzzing caused by decode 2023-03-07 21:33:23 +08:00
leeeon233
b6e9983eb7 fix: map lamport order 2023-03-07 17:06:10 +08:00
leeeon233
4f5f809bb6 fix: remove temp, add checker
fix: map lamport order
2023-03-07 17:05:52 +08:00
leeeon233
707fdc5b55 test: add txn fuzz 2023-03-06 21:49:47 +08:00
leeeon233
d1d242578f fix: op counter 2023-03-06 21:46:36 +08:00
leeeon233
9fefd75fb6 feat: use ContainerTrait
fix: op counter
2023-03-06 21:45:58 +08:00
leeeon233
6fd81c8d20 fix: use split_off to take n 2023-03-06 14:52:30 +08:00
leeeon233
3a0b8d9d58 fix: remove delta clone 2023-03-06 12:43:52 +08:00
leeeon233
449a77254d fix: use Option as delta meta 2023-03-05 17:38:26 +08:00
leeeon233
344bbb1e34 fix: pass delta test 2023-03-05 17:11:48 +08:00
leeeon233
0f2333b182 feat: container checker 2023-03-04 17:34:40 +08:00
leeeon233
4bb3ea8b1b feat: use the same api for container and temp container 2023-03-03 17:10:55 +08:00
leeeon233
1979c23125 fix: transaction op apply 2023-03-03 09:14:24 +08:00
leeeon233
398ddcb25a fix: map fuzz diff delete LoroValue::Null 2023-03-02 20:55:06 +08:00
leeeon233
d2fa09cd00 test: fuzz use transaction 2023-03-02 19:44:46 +08:00
leeeon233
4652d839ec feat: map transaction 2023-03-02 17:54:57 +08:00
leeeon233
46e2c5a960 feat: text transaction 2023-03-02 10:37:50 +08:00
leeeon233
d144906502 fix: list use delta as op 2023-03-01 21:37:58 +08:00
leeeon233
9544e27be4 feat: add delta compose 2023-03-01 14:12:05 +08:00
leeeon233
3c9818ef82 feat: impl list map text transaction 2023-02-27 20:55:52 +08:00
leeeon233
47b9b34818 feat: init list container transaction 2023-02-27 13:32:33 +08:00
Zixuan Chen
dbb19bc2e6 bench: fix decode bench 2023-02-22 16:54:13 +08:00
leeeon233
5b22a1e9aa fix: encode use dep_on_self
Co-authored-by: Zixuan Chen <me@zxch3n.com>
2023-02-22 14:10:21 +08:00
leeeon233
0328c11a8e chore: real time 2023-02-20 22:01:40 +08:00
leeeon233
037d17cd08 bench: sync 2000 times 2023-02-20 20:02:38 +08:00
leeeon233
379c3201f5 bench: encode without compress 2023-02-20 19:16:02 +08:00
leeeon233
af6342a52d fix: snapshot unknown and change value to i64 2023-02-20 17:19:25 +08:00
leeeon233
b8e27dc011 fix: dep counter 2023-02-20 10:24:56 +08:00
leeeon233
697f9708b9 perf: remove the dep with same client_id 2023-02-18 19:54:58 +08:00
leeeon233
3a75b7005c test: reduce doc size init 2023-02-18 18:06:23 +08:00
leeeon233
e4b6c5b96c fix: add err when updates cannot be apply 2023-02-18 18:03:05 +08:00
leeeon233
04cec6048f fix: rm snapshot start counter 2023-02-18 18:03:05 +08:00
leeeon233
f0266f015f fix: lookup change 2023-02-18 18:03:05 +08:00
Leonzhao
1743f4af42 fix: some suggestions about rm lamport
Co-authored-by: Zixuan Chen <remch183@outlook.com>
2023-02-18 18:03:05 +08:00
leeeon233
9dc373048d chore: add value2 comment snapshot 2023-02-18 18:03:05 +08:00
leeeon233
d87b3b960d fix: remove lamport from snapshot 2023-02-18 18:03:05 +08:00
leeeon233
7c8aa72969 fix: opt offset [lamport] 2023-02-18 18:03:05 +08:00
leeeon233
033916c532 fix: lamport remove sort 2023-02-18 18:03:05 +08:00
leeeon233
e4189785ea fix: calculate lamport by deps 2023-02-18 18:03:05 +08:00
leeeon233
52dd09db2a fix: rleUpdates lamport calculate 2023-02-18 18:03:05 +08:00
leeeon233
ccfa3ee63d fix: remove counter & lamport from snapshot 2023-02-18 18:03:05 +08:00
leeeon233
ea921e4c8f fix: remove counter & lamport from RleUpdates encoding 2023-02-18 18:03:05 +08:00
leeeon233
bfeed8fb2e fix: encoding version use u8 2023-02-18 18:03:05 +08:00
leeeon233
7ffac80215 fix: snapshot load diff 2023-02-16 11:23:14 +08:00
leeeon233
5b6f864479 feat: init nodejs bindgen 2023-02-16 11:22:50 +08:00
Zixuan Chen
1002c9cca5
fix: encode_from no compression by default (#77) 2023-02-09 20:43:34 +08:00
Zixuan Chen
11b16e85cd docs: add comment for last&end 2023-02-09 16:30:22 +08:00
leeeon233
e048224263 fix: client idx use Rle
Revert "fix: client idx use Rle"

This reverts commit 77fdfd2a316a43bc515f6165ba1cfe53a83f4867.

fix: client idx use Rle
2023-02-07 11:40:47 +08:00
leeeon233
8545a0aa75 fix: unsubscribe 2023-02-07 11:40:47 +08:00
leeeon233
189ea685eb refactor: event with option, add once subscribe 2023-02-07 11:40:47 +08:00
leeeon233
e402850440 feat: hierarchy children & parent 2023-02-07 11:40:47 +08:00
leeeon233
13becdb3f3 feat: container iter 2023-02-07 11:40:47 +08:00
leeeon233
5743f8d989 feat: list push_front 2023-02-07 11:40:47 +08:00
leeeon233
b15602307e feat: change cfg api 2023-02-07 11:40:47 +08:00
leeeon233
e603a42f28 chore: clippy 2023-02-07 11:40:47 +08:00
Zixuan Chen
9d31605bde fix: cursor get_sliced should have len > 0 2023-01-30 18:04:57 +08:00
leeeon233
5bcaf4c58a chore: add assert 2023-01-29 19:05:03 +08:00
leeeon233
00dbf0622d feat: text utf16 2023-01-29 19:05:03 +08:00
leeeon233
271250ba05 feat: add java bindgen 2023-01-29 17:48:37 +08:00
leeeon233
8f739178e7 feat: add go bindgen 2023-01-29 17:48:37 +08:00
leeeon233
83972746a6 feat: add python bingen 2023-01-29 17:48:37 +08:00
leeeon233
c10b1237e0 chore: rebase main 2023-01-29 17:48:37 +08:00
leeeon233
c56d5327da chore: add readme.md 2023-01-29 17:48:37 +08:00
leeeon233
95309db710 feat: impl C ffi 2023-01-29 17:48:37 +08:00
leeeon233
a26d4b0122 feat: init ffi 2023-01-29 17:48:37 +08:00
leeeon233
b5880f0b66 feat: add Prelim struct 2023-01-27 11:11:28 +08:00
leeeon233
b30dee1386 feat: add contains 2023-01-27 11:11:28 +08:00
leeeon233
99278b1e22 feat: add push to List 2023-01-27 11:11:28 +08:00
leeeon233
43cb9cc6db feat: add prelim struct 2023-01-27 11:11:28 +08:00
Zixuan Chen
83587c4d81 refactor: update fuzz dep 2023-01-16 20:08:43 +08:00
Zixuan Chen
d0e83076ee refactor: fix bench type err 2023-01-16 20:08:43 +08:00
Zixuan Chen
18d32384a5 refactor: move loro-core to loro-internal 2023-01-16 20:08:43 +08:00
Zixuan Chen
bd3ac43203 fix: use update encoding by default
snapshot encoding is not fully ready yet
2023-01-16 18:39:08 +08:00
Zixuan Chen
824a766e2f refactor: refine code style in import 2023-01-16 18:39:08 +08:00
Zixuan Chen
2a436e07ad fix: snapshot encoding err 2023-01-16 18:39:08 +08:00
Zixuan Chen
c56653c3c8 refactor: refine encode interface (buggy)
Co-authored-by: Leonzhao <leeeon233@gmail.com>
2023-01-16 18:39:08 +08:00
leeeon233
a04d0794aa fix: avoid Unresolved as PrelimValue 2023-01-16 18:38:55 +08:00
leeeon233
a20b4c9e8b fix: interface update 2023-01-16 18:38:55 +08:00
Zixuan Chen
625771c37d
fix: decode batch (#54) 2023-01-06 21:14:29 +08:00
Zixuan Chen
a03c68a993
fix: make LoroCore: Send + Sync (#61) 2023-01-06 21:03:11 +08:00
leeeon233
6a02ce1568 fix: wasm loro class inner mutability 2023-01-06 12:20:00 +08:00
leeeon233
cc3a869ee4 fix: update deps 2023-01-03 17:44:09 +08:00
leeeon233
2ab2a7c84b chore: cargo fix 2023-01-03 17:36:17 +08:00
leeeon233
38ccf36b9d fix: test 2023-01-03 17:36:17 +08:00
leeeon233
953a4613c6 fix: nesting notify 2023-01-03 17:36:17 +08:00
leeeon233
80640ca4e1 fix: wasm hierarchy notify dead lock 2023-01-03 17:36:17 +08:00
leeeon233
e3a93be6a2 fix: remove heap 2022-12-30 11:54:22 +08:00
leeeon233
524916239a chore: comment 2022-12-30 11:54:22 +08:00
leeeon233
57072585a1 fix: use stack instead of heap 2022-12-30 11:54:22 +08:00
leeeon233
7ec25b396e fix: use BTreeMap to iter node content 2022-12-30 11:54:22 +08:00
leeeon233
1b53fcf3bb chore: remove debug print 2022-12-30 11:54:22 +08:00
leeeon233
ee22d29573 fix: use topological sort for causal iter 2022-12-30 11:54:22 +08:00
leeeon233
23e98c7e63 perf: use BinaryHeap again 2022-12-30 11:54:22 +08:00
leeeon233
de12fc8da9 fix: sort key -lamport 2022-12-30 11:54:22 +08:00
leeeon233
dcb5ae4ec6 chore: rebase main 2022-12-30 11:54:22 +08:00
leeeon233
776ca51b95 chore: add bench causal iter 2022-12-30 11:54:22 +08:00
leeeon233
cfe86e5dfd test: add parallel causal iter case 2022-12-30 11:54:22 +08:00
leeeon233
73bc9a74f9 fix: causal iter sort 2022-12-30 11:54:22 +08:00
leeeon233
de486bc341 tmp 2022-12-30 11:54:22 +08:00
leeeon233
07e0d4a228 refactor: move hierarchy to loro core 2022-12-30 11:54:22 +08:00
leeeon233
647352aa2a chore: cargo fix 2022-12-30 11:54:22 +08:00
leeeon233
065e646a7e refactor: use Weak in container 2022-12-30 11:54:22 +08:00
Zixuan Chen
9748779f08
Bench: report (#49) 2022-12-27 14:18:46 +08:00
Zixuan Chen
fd65b1504c Merge branch 'main' into perf-wasm-analysis 2022-12-27 12:57:16 +08:00
leeeon233
af29f7e202 fix: map pool mapping 2022-12-19 18:07:24 +08:00
leeeon233
27eb840525 fix: decode notify 2022-12-19 18:07:24 +08:00
leeeon233
13ca5b0dd5 chore: rebase main 2022-12-19 18:07:24 +08:00
leeeon233
4748e1d38c fix: decode hierarchy for snapshot mode
update columnar version, reduce compression time
2022-12-19 18:07:24 +08:00
leeeon233
ffce7d81eb chore: rename encode changes to rle updates 2022-12-19 18:07:24 +08:00
leeeon233
b0b1fddef3 refactor: unify encode api 2022-12-19 18:07:24 +08:00
Zixuan Chen
c6f9561de3 chore(ci): fix ci 2022-12-18 21:05:04 +08:00
Zixuan Chen
4a0b8e52e8 Merge remote-tracking branch 'origin/main' into perf-wasm-analysis 2022-12-18 20:59:57 +08:00
Zixuan Chen
ffd329393a Merge branch 'main' into perf-reduce-checkout 2022-12-16 12:29:35 +08:00
Zixuan Chen
8c24f718e9 Merge branch 'main' into perf-wasm-analysis 2022-12-14 20:17:35 +08:00
leeeon233
4cfdbff768 chore: rebase 2022-12-13 23:06:21 +08:00
leeeon233
815b95d126 test: add standardize encoding 2022-12-13 23:02:33 +08:00
leeeon233
f0b8cf301f fix: import 2022-12-13 23:02:33 +08:00
leeeon233
8805cfb144 perf: reduce snapshot doc size 2022-12-13 23:02:33 +08:00
leeeon233
972814aec5 chore: check bug 2022-12-13 23:02:33 +08:00
leeeon233
9b74125ba5 chore: update columnar 2022-12-13 23:02:33 +08:00
leeeon233
9024807d74 chore: rebase main 2022-12-13 23:02:33 +08:00
leeeon233
1c8f3784f0 feat: add pool mapping
Co-authored-by: Zixuan Chen <me@zxch3n.com>
2022-12-13 23:02:33 +08:00
leeeon233
70b3126d79 chore: rebase main 2022-12-13 23:02:32 +08:00
Zixuan Chen
d3af9b9665 chore: pool mapping init
Co-authored-by: Leonzhao <leeeon233@gmail.com>
2022-12-13 23:02:32 +08:00
leeeon233
b3420e4f64 fix: compress flag 2022-12-13 23:02:32 +08:00
leeeon233
2fb675f145 chore: clean file 2022-12-13 23:02:32 +08:00
leeeon233
16400ddab0 fix: remove container encoding 2022-12-13 23:02:32 +08:00
leeeon233
85865e592a feat: state snapshot import 2022-12-13 23:02:32 +08:00
leeeon233
3727fb7f72 fix: add compress 2022-12-13 23:01:17 +08:00
leeeon233
b2c3010454 chore: modify fuzz 2022-12-13 23:01:17 +08:00
leeeon233
86b65ec638 chore: fix container mergable 2022-12-13 23:01:17 +08:00
leeeon233
48d784bcd1 feat: add map state snapshot 2022-12-13 23:01:17 +08:00
Zixuan Chen
c7e5c907d5 fix: list 2022-12-13 23:01:17 +08:00
leeeon233
8037f4034d chore: bug list rle range 2022-12-13 23:01:17 +08:00
leeeon233
2fedf8d396 feat: state snapshot
Co-authored-by: Zixuan Chen <me@zxch3n.com>
2022-12-13 23:01:17 +08:00
Zixuan Chen
83af4d07eb
Merge pull request #44 from loro-dev/feat-wasm-encode
Feat: wasm encode
2022-12-13 16:34:54 +08:00
Zixuan Chen
035d03c89e chore(wasm): fix build wasm script 2022-12-13 16:33:24 +08:00
Zixuan Chen
e85ba3f340 fix: fuzz deps 2022-12-13 16:26:32 +08:00
Zixuan Chen
1ce91be046 fix: merge err 2022-12-13 16:23:52 +08:00
Zixuan Chen
8b5ebef756 Merge branch 'main' into perf-wasm-analysis 2022-12-13 16:19:33 +08:00
Zixuan Chen
f322bde4c9 Perf remove string pool mutex (#41)
This is based on append-only-bytes. It allows us to share str data in a lock-free way. The downside of this method is it tends to use more memory
2022-12-13 16:18:56 +08:00
Zixuan Chen
cf1f7dc443 fix: ues try_lock 2022-12-13 14:47:19 +08:00
Zixuan Chen
7c4ee1bb41 docs: add fixme comment 2022-12-13 01:42:07 +08:00
Zixuan Chen
680a0e1ce2 refactor: add import batch interface 2022-12-13 01:40:13 +08:00
Zixuan Chen
95daf02a29 refactor: rename vv to vv_cloned to emphasize cost 2022-12-13 01:39:57 +08:00
Zixuan Chen
b6481d6c5d perf: use patched version vector when importing 2022-12-13 01:37:32 +08:00
Zixuan Chen
90fe4cc69e fix: remove needless check 2022-12-12 16:18:55 +08:00
Zixuan Chen
dc4229d609 perf: reduce heap allocations 2022-12-12 16:01:58 +08:00
Zixuan Chen
97a27ffa4e perf: use bump mode in cursor map 2022-12-12 14:17:32 +08:00
Zixuan Chen
66c2bb8030 perf: drop text tracker after applying 2022-12-12 14:15:11 +08:00
Zixuan Chen
1255e32101 perf: reclaim list tracker mem after applying 2022-12-12 13:48:49 +08:00
Zixuan Chen
313b1cc8c0 bench: add wasm bench to web test 2022-12-12 13:44:49 +08:00
Zixuan Chen
0c22c3e5e4 perf: reduce space alloc 2022-12-10 10:15:54 +08:00
Zixuan Chen
098203ba5a refactor: version vector iter diff 2022-12-09 23:14:00 +08:00
Zixuan Chen
4ab86e4029 perf: reduce checkout when importing 2022-12-09 21:20:59 +08:00
Zixuan Chen
68bd7179c4
Perf remove string pool mutex (#41)
This is based on append-only-bytes. It allows us to share str data in a lock-free way. The downside of this method is it tends to use more memory
2022-12-09 17:22:33 +08:00
Zixuan Chen
2903a47ddb chore(ci): fix build script in ci 2022-12-09 12:03:45 +08:00
Zixuan Chen
85f0d98385 chore(wasm): fix wasm build & test scripts 2022-12-09 11:33:39 +08:00
Zixuan Chen
569cfdcf5e perf(rle): use simple iter range for range_map 2022-12-09 10:46:55 +08:00
Zixuan Chen
bc57f01e18 fix: simplify op set 2022-12-09 10:46:55 +08:00
Zixuan Chen
3eff9a2091 bench: add benchmark for many concurrent actors 2022-12-09 10:46:55 +08:00
Zixuan Chen
b74ab34f79 chore(wasm): make build parallel 2022-12-09 10:46:55 +08:00
Zixuan Chen
f9f556f822 fix: add local info 2022-12-09 10:46:55 +08:00
Zixuan Chen
bc66583863 fix: container may be deleted from doc when editing 2022-12-09 10:46:55 +08:00
Zixuan Chen
05f19de9de fix: try to avoid recursive lock in notification 2022-12-09 10:46:55 +08:00
Zixuan Chen
a24e284fba fix: hierarchy notify 2022-12-09 10:46:55 +08:00
Zixuan Chen
db29178982 fix: make subscription work 2022-12-09 10:46:55 +08:00
Zixuan Chen
9a3194edef chore(wasm): change the build methods 2022-12-09 10:46:55 +08:00
Zixuan Chen
572fe857a0 feat(wasm): root subscribe & unsubscribe 2022-12-09 10:46:55 +08:00
Zixuan Chen
b98c22570d fix: get container by id err 2022-12-09 10:46:55 +08:00
Zixuan Chen
2db272e857 chore(wasm): wasm build cfg 2022-12-09 10:46:47 +08:00