Commit graph

441 commits

Author SHA1 Message Date
Zixuan Chen
03c2cfd041 refactor: rename unknown range 2022-11-11 22:26:34 +08:00
Zixuan Chen
0d0603d75f feat: get value deep 2022-11-11 22:26:06 +08:00
Zixuan Chen
1f2be1de18 chore: cargo fix 2022-11-11 16:20:37 +08:00
Zixuan Chen
fc41f0fa1b refactor: move reg inside log store 2022-11-11 16:18:13 +08:00
Zixuan Chen
d818cd1ca8 refactor: use Text and Map as exposed interfaces
Co-authored-by: Leonzhao <leeeon233@gmail.com>
2022-11-11 15:23:22 +08:00
Zixuan Chen
3d1fedcb93 refactor: add container wrapper
Co-authored-by: Leonzhao <leeeon233@gmail.com>
2022-11-11 14:37:01 +08:00
Zixuan Chen
04e01b6415 refactor: remove redundant logics 2022-11-11 14:03:36 +08:00
Zixuan Chen
a858c10588 refactor: use container trait 2022-11-11 11:41:31 +08:00
Zixuan Chen
1f2650a5a2 refactor: rename container mng to registry 2022-11-11 11:15:06 +08:00
Zixuan Chen
44f38dd24b chore: cargo fix 2022-11-11 11:13:35 +08:00
Zixuan Chen
c50fd45d1d refactor: use dashmap in container manager
Co-authored-by: Leonzhao <leeeon233@gmail.com>
2022-11-11 11:12:55 +08:00
Zixuan Chen
737c14e99a fix: update bumpalo fix potential leaks 2022-11-10 22:34:49 +08:00
Zixuan Chen
cb26a46b9e fix: type error 2022-11-10 15:45:27 +08:00
Zixuan Chen
8242a598af Merge branch 'main' into feat-recursive 2022-11-10 15:34:21 +08:00
Zixuan Chen
fbe4cc7ef8 doc: remove redundant todos and logics 2022-11-10 15:10:53 +08:00
Zixuan Chen
42db1057d2 doc: update range map doc 2022-11-10 12:00:05 +08:00
Zixuan Chen
1a4f2a32df test: refine bench 2022-11-10 09:30:52 +08:00
Zixuan Chen
a71b5a1613 refactor: reduce yspan size by removing slice 2022-11-10 03:04:37 +08:00
Zixuan Chen
2c29165ae8 perf: remove len field in yspan 2022-11-10 02:27:53 +08:00
Zixuan Chen
e3ad3e017d perf: reduce y_span size 2022-11-10 02:17:30 +08:00
Zixuan Chen
f5b01da63a perf: make marker smaller 2022-11-10 01:38:14 +08:00
Zixuan Chen
e298128f8d refactor: simplify code
the threshold is useless because most of the nodes
will have at least MAX_CHILDREN_NUM/2 children
2022-11-10 01:37:23 +08:00
Zixuan Chen
97709c5af3 chore: remove debug code 2022-11-10 01:27:24 +08:00
Zixuan Chen
5027da1e2e perf: binary search for global tree trait 2022-11-10 01:17:22 +08:00
Zixuan Chen
592199ab65 fix: set small range err 2022-11-09 23:57:13 +08:00
Zixuan Chen
f1861e055c test: add yata test 2022-11-09 22:54:16 +08:00
Zixuan Chen
b4cdc817d7 doc: new range map doc 2022-11-09 22:54:07 +08:00
Zixuan Chen
498cc7f2a7 perf: better set range strategy
and use heap mode in cursor map
2022-11-09 21:55:53 +08:00
Zixuan Chen
7fc18625ab test: refine B4 parallel test 2022-11-09 21:50:04 +08:00
Zixuan Chen
eb5ba1474e test: add B4 parallel bench 2022-11-09 21:41:32 +08:00
Zixuan Chen
e85efa7d01 perf: simplify global tree cache update 2022-11-09 21:31:28 +08:00
Zixuan Chen
59d9c9ba34 fix: better capacity setting 2022-11-09 20:07:53 +08:00
Zixuan Chen
6eff5ddd3f refactor: refine small set 2022-11-09 19:37:47 +08:00
Zixuan Chen
1653f8d109 perf: optimize insert at the range end 2022-11-09 18:42:13 +08:00
Zixuan Chen
0988b74254 chore: utils 2022-11-09 17:54:06 +08:00
Zixuan Chen
934b0fdda9 perf: speed up find path and common ancestors 2022-11-09 14:11:06 +08:00
Zixuan Chen
58fb7de26c fix: remove changes error freeze behavior
and cover more cases that can be applied directly
2022-11-09 13:53:12 +08:00
Zixuan Chen
9733f24855 perf: speed up find common ancestors 2022-11-09 12:30:27 +08:00
Zixuan Chen
5c0c09e2d1 perf: apply edits directly when possible 2022-11-09 12:18:27 +08:00
Zixuan Chen
2abf23797a test: init bench utils 2022-11-09 11:04:58 +08:00
Zixuan Chen
93af1c72c5 fix: text container heads update 2022-11-09 10:33:49 +08:00
Zixuan Chen
8616f4d3b0 chore: cargo fix 2022-11-08 23:51:31 +08:00
Zixuan Chen
3c7e939020 fix: wasm type convert err 2022-11-08 23:43:33 +08:00
Zixuan Chen
3d2ea6479a feat: recursive map type; but perf becomes worse
random text edit 2 sites, run time + 30%
need to find a way to fix this
2022-11-08 23:35:32 +08:00
Zixuan Chen
738a7ff2b9 refactor: rename integer 2022-11-08 20:04:54 +08:00
Zixuan Chen
2ae4db14f6 refactor: change loro value type 2022-11-08 15:40:14 +08:00
Zixuan Chen
de84a633f9 refactor: change get value signature 2022-11-08 14:59:13 +08:00
Zixuan Chen
e7af203efa Merge branch 'chore-clean-todos' 2022-11-08 12:41:11 +08:00
Zixuan Chen
0acb003fe1 chore: update todo doc 2022-11-08 12:41:01 +08:00
Zixuan Chen
f7821f0515 fix: use after free in heap mode when deleting 2022-11-08 11:39:58 +08:00
Zixuan Chen
e833c1d5d7 chore: remove redundant todo 2022-11-08 10:50:55 +08:00
Zixuan Chen
64c985ce73 Merge branch 'main' into refactor-bump 2022-11-08 10:19:42 +08:00
Zixuan Chen
54ed394640 chore: add basic web test code 2022-11-07 23:37:10 +08:00
Zixuan Chen
8dc788e404 refactor: remove isomophic and parallel feature
features should be additive in Rust
2022-11-07 23:27:40 +08:00
Zixuan Chen
b086185d86 chore: refine doc 2022-11-07 15:25:48 +08:00
Zixuan Chen
420d29e42f chore: add doc for heapmode 2022-11-07 15:24:02 +08:00
Zixuan Chen
82ef8a42ee refactor: rename modes to HeapMode and BumpMode 2022-11-07 15:20:49 +08:00
Zixuan Chen
a3df07bf5c refactor: make Bump mode newtype 2022-11-07 15:19:48 +08:00
Zixuan Chen
c7d3e01087 refactor: no boxing for T in RleTree
and make Heap mode as the default mode, because users
should be aware of Bump mode's limitation before using it
2022-11-07 15:10:36 +08:00
Zixuan Chen
62891e25b3 fix: use heap mode in text state
Fix #8
2022-11-07 14:26:10 +08:00
Zixuan Chen
303b1c6787 chore: cargo fix 2022-11-07 14:21:06 +08:00
Zixuan Chen
24cd11f59e refactor: make bump optional in rle tree 2022-11-07 14:16:53 +08:00
Zixuan Chen
1a8fb458a9 chore: use stable rust as GAT become stable 2022-11-06 23:18:15 +08:00
Zixuan Chen
dd2c2701c4 chore: more debug info 2022-11-01 23:07:30 +08:00
Zixuan Chen
b5370af5e9 test: add mem-prof feature to test memory 2022-11-01 18:34:59 +08:00
Zixuan Chen
3ea9770871 fix: merge err 2022-11-01 18:16:55 +08:00
Zixuan Chen
5a7b9c7a0b Merge branch 'feat-wasm' into refactor-reverse-merge 2022-11-01 17:59:23 +08:00
Zixuan Chen
72e52d8925 chore: cargo fix 2022-11-01 17:53:57 +08:00
Zixuan Chen
0a832194d8 refactor: remove slice feature
enable by default
2022-11-01 17:51:17 +08:00
Zixuan Chen
19b9772995 Merge branch 'main' into feat-wasm 2022-11-01 17:46:16 +08:00
Zixuan Chen
df1892bd4e refactor: merge reverse deletions
fix: counter span merge err
2022-11-01 17:16:11 +08:00
Zixuan Chen
0e56b861ed refactor: rename a few types 2022-11-01 12:14:02 +08:00
Zixuan Chen
d62fa09e99 refactor: only keep counter on op 2022-11-01 00:07:24 +08:00
Zixuan Chen
6e03c9c04b refactor: extract remote op 2022-10-31 23:50:00 +08:00
Zixuan Chen
3c03538e0e chore: cargo style fix 2022-10-31 22:37:29 +08:00
Zixuan Chen
c56c286d76 refactor: use isomorphic structure for sync/async 2022-10-31 22:37:29 +08:00
Zixuan Chen
ee8df9dd59 chore: cargo fix 2022-10-31 22:36:54 +08:00
Zixuan Chen
27c4b1ca2b refactor: remove change freeze field 2022-10-31 22:35:37 +08:00
Zixuan Chen
1e9d5769f3 fix: add debug info & reduce 40% mem usage 2022-10-31 21:42:19 +08:00
Zixuan Chen
9c35aa266c fix: reduce heap alloc 2022-10-31 20:40:39 +08:00
Zixuan Chen
8cfe9f2772 perf: reduce heap alloc 2022-10-31 20:06:56 +08:00
Zixuan Chen
43c28608c6 fix: reduce heap alloc 2022-10-31 19:27:13 +08:00
Zixuan Chen
5ce83d0188 refactor: make client id type can be switching 2022-10-31 17:32:05 +08:00
Zixuan Chen
261fb329ee test: add mem profiling 2022-10-31 17:21:06 +08:00
Zixuan Chen
22465a5e97 test: add B4 bench 2022-10-31 16:16:44 +08:00
Zixuan Chen
fa2db1be7e doc: add container desc 2022-10-31 12:37:20 +08:00
Zixuan Chen
9d48e5df88 refactor: fix type error 2022-10-31 12:33:44 +08:00
Zixuan Chen
e0a472fd1a feat: basic wasm interface 2022-10-31 12:22:07 +08:00
Zixuan Chen
3a0c00fdec fix: type err 2022-10-28 18:50:37 +08:00
Zixuan Chen
87227ad39a Merge branch 'refactor-parallel' into feat-wasm 2022-10-28 18:49:01 +08:00
Zixuan Chen
c8d5127213 chore: cargo style fix 2022-10-28 18:28:55 +08:00
Zixuan Chen
06d7d054a5 refactor: use isomorphic structure for sync/async 2022-10-28 18:22:46 +08:00
Zixuan Chen
16e3d6f3cb chore: bk 2022-10-28 17:19:58 +08:00
Zixuan Chen
bd30f675a6 feat: replace notify set range method 2022-10-28 15:25:11 +08:00
Zixuan Chen
bf8973c758 feat: set range
fix: update cache

chore: remove useless tests

chore: add bench script
2022-10-28 15:25:11 +08:00
Zixuan Chen
12cc746ff2 chore: setup benchmark 2022-10-28 15:25:11 +08:00
Zixuan Chen
565ed3b01b doc: add doc about values difference 2022-10-28 15:24:44 +08:00
Zixuan Chen
b80a70bb2d fix: reduce unsafe code 2022-10-27 16:10:22 +08:00
Zixuan Chen
328d0517c0 chore: update crdt-list dep 2022-10-26 23:35:21 +08:00
Zixuan Chen
95e514b329 refactor: simplify delete 2022-10-26 23:31:34 +08:00
Zixuan Chen
105ab9b5ef chore: micro optimization 2022-10-26 23:31:34 +08:00
Zixuan Chen
9770fb50f3 chore: cargo fix 2022-10-26 23:31:34 +08:00
Zixuan Chen
6a2da8a01f fix: avoid potential memory leak 2022-10-26 23:31:34 +08:00
Zixuan Chen
dc4571f389 refactor: remove unnecessary field 2022-10-26 23:31:34 +08:00
Zixuan Chen
02ebfbc0fc fix: remove a few unsafe blocks about create cursor 2022-10-26 23:31:34 +08:00
Zixuan Chen
2dbb27f62d chore: use weak ref 2022-10-26 23:31:34 +08:00
Zixuan Chen
a1d1517de0 feat: reuse tracker 2022-10-26 23:31:34 +08:00
Zixuan Chen
78faec33a1 fix: dag 2022-10-26 23:31:34 +08:00
Zixuan Chen
a24cee49c5 chore: bk 2022-10-26 23:31:34 +08:00
Zixuan Chen
e2dc6382d0 chore: bk 2022-10-26 23:31:34 +08:00
Zixuan Chen
352ddc1c11 fix: common ancestor step 1 2022-10-26 23:31:34 +08:00
Zixuan Chen
4a608cc958 fix: mermaid links fix 2022-10-26 23:31:34 +08:00
Zixuan Chen
e7daca728b refactor: cursor should not impl copy 2022-10-26 23:31:34 +08:00
Zixuan Chen
b280c21860 refactor: add RleVecWithLen to impl HasLength 2022-10-26 23:31:34 +08:00
Zixuan Chen
22f9ba3f3c refactor: rename len method in old rlevec 2022-10-26 23:31:34 +08:00
Zixuan Chen
5220ca70f1 refactor: move rle vec impl 2022-10-26 23:31:34 +08:00
Zixuan Chen
0d89349731 refactor: use rle vec for ops 2022-10-26 23:31:34 +08:00
Zixuan Chen
1c5cd948ed feat: new rle vec 2022-10-26 23:31:34 +08:00
Zixuan Chen
79aec7544a refactor: rename HasLength functions 2022-10-26 23:31:34 +08:00
Zixuan Chen
e521229da2 refactor: move trait logic to one file 2022-10-26 23:31:34 +08:00
Zixuan Chen
7e5c9b0b0f fix: rename has global index 2022-10-26 23:31:34 +08:00
Zixuan Chen
d69eca5dc5 refactor: rename rle vec to rle vec with index 2022-10-26 23:31:34 +08:00
Zixuan Chen
bfd5e090d9 refactor: use list slice 2022-10-26 23:31:34 +08:00
Zixuan Chen
5a95a3c04d chore: cargo fix 2022-10-26 23:31:34 +08:00
Zixuan Chen
0cd16d6e4b test: add 8 client fuzz text test 2022-10-26 23:31:34 +08:00
Zixuan Chen
7284301ce8 doc: add sliceable doc 2022-10-26 23:31:34 +08:00
Zixuan Chen
55c274d5ac fix: list op merge logic 2022-10-26 23:31:34 +08:00
Zixuan Chen
65175743f2 chore: add doc for del 2022-10-26 23:31:34 +08:00
Zixuan Chen
e883177369 chore: add more log 2022-10-26 23:31:34 +08:00
Zixuan Chen
24773ac217 fix: list_op delete merge error 2022-10-26 23:31:34 +08:00
Zixuan Chen
a662650cab chore: remove logs 2022-10-26 23:31:34 +08:00
Zixuan Chen
478491831d fix: rle iter logic 2022-10-26 23:31:34 +08:00
Zixuan Chen
ec4e1926cb fix: delete span iter bug 2022-10-26 23:31:34 +08:00
Zixuan Chen
7154b5e8fe fix: get cursors at id span bug 2022-10-26 23:31:34 +08:00
Zixuan Chen
b0572016a0 fix: effect iter, get_cursor_at_id_span bug 2022-10-26 23:31:34 +08:00
Zixuan Chen
9157e75ed7 fix: iter bug & lamport bug & set init len for tracker 2022-10-26 23:31:34 +08:00
Zixuan Chen
3eae708b24 fix: iter bug 2022-10-26 23:31:34 +08:00
Zixuan Chen
65d6f4ffe9 fix: cursor should be invalidated 2022-10-26 23:31:34 +08:00
Zixuan Chen
9407f52a1d test: refine tests 2022-10-26 23:31:34 +08:00
Zixuan Chen
5ac137c877 fix: find yspan.origin right error 2022-10-26 23:31:34 +08:00
Zixuan Chen
cf3e3ee361 fix: vec slice bug 2022-10-26 23:31:34 +08:00
Zixuan Chen
a9d57bfc14 fix: redefine and fix find common ancestor 2022-10-26 23:31:34 +08:00
Zixuan Chen
6dcd9d19e8 fix: change deps bug 2022-10-26 23:31:34 +08:00
Zixuan Chen
a2fcd73b44 fix: should filter out non-active spans on delete 2022-10-26 23:31:34 +08:00
Zixuan Chen
ec07825c4f fix: slice issue 2022-10-26 23:31:34 +08:00
Zixuan Chen
037093f6bd fix: partial iter bug 2022-10-26 23:31:34 +08:00
Zixuan Chen
b099b4507c fix: add 2 site tests & fix update cursor bug 2022-10-26 23:31:34 +08:00
Zixuan Chen
0cd640340a chore: cargo style fix 2022-10-26 23:31:34 +08:00
Zixuan Chen
36adcd0ba3 fix: avoid repeatedly apply 2022-10-26 23:31:34 +08:00
Zixuan Chen
ef129f96e7 refactor: remove op_proxy 2022-10-26 23:31:34 +08:00