Commit graph

23 commits

Author SHA1 Message Date
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
594b60dafb
Perf store cache in parent node (#36)
* refactor: make internal and leaf use same type of cache

* refactor: add cache update

* test : add normalization to arb test

* test: fuzz

* fix: internal insert bug

* fix: missing utf16

* test: fix test sub overflow

* feat: use heapless for binary heap

* refactor: refine warning

* test: reduce test time

* perf: reduce computation when finding pos

* bench: fix ignore parse time in benching

* feat: make it compile in new sig (should be merged)

* fix: type err

* fix: fix type err

* fix: cache when merge & borrow

* refactor: simplify code

* fix: cumulated tree trait bug

* fix: a few fatal bugs (still buggy)

* fix: global tree trait

* refactor: rm an unused fn

* fix: insert at cursor bug

* fix: in cursor insert cache may be invalid

strip the checker there

* chore: remove needless check

* refactor: add inline to methods

* test: remove cfg=mem for mem example

* fix: type err
2022-12-06 16:34:46 +08:00
Zixuan Chen
f757b86f5c
Fix: unsound (violate borrow stack rules) bugs detected by Miri (#32)
* fix: borrow stack bugs exposed by miri

* fix: use context to track notify when integrating

* fix: miri bugs

* fix: borrow stack bugs

* fix: set range miri err
2022-12-06 16:05:58 +08:00
Zixuan Chen
1ca3f0e774 refactor: rename feature fuzzing to test_utils 2022-11-14 10:49:42 +08:00
Zixuan Chen
737c14e99a fix: update bumpalo fix potential leaks 2022-11-10 22:34:49 +08:00
Zixuan Chen
16e3d6f3cb chore: bk 2022-10-28 17:19:58 +08:00
Zixuan Chen
328d0517c0 chore: update crdt-list dep 2022-10-26 23:35:21 +08:00
Zixuan Chen
bfd5e090d9 refactor: use list slice 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
f760aad046 test: add bench facilities 2022-10-26 23:31:34 +08:00
Zixuan Chen
a93d9f762d fix: cursor should not use Deref
`crdt-list` expected derefed cursor to be a sliced operation, but it was not.
so I updated crdt-list to use a GetOp trait instead of Deref, where
users may slice the op if they want to.
2022-10-26 23:31:34 +08:00
Zixuan Chen
bc980c5b02 feat: iter update in rle tree 2022-10-26 23:31:34 +08:00
Zixuan Chen
9240ad12ee fix: add safety comment to rle 2022-10-26 23:31:34 +08:00
Zixuan Chen
77eac9eb30 fix: notify 2022-10-26 23:31:34 +08:00
Zixuan Chen
722893cdb2 chore: speed up example 2022-08-16 16:46:03 +08:00
Zixuan Chen
cb0701ebf0 test: add fuzzy test 2022-08-16 16:46:03 +08:00
Zixuan Chen
9755782cf9 refactor: use ouroboros to self-ref
previous solution has a fatal bug when dropping
2022-08-16 16:46:03 +08:00
Zixuan Chen
c8a83fe676 fix: post delete handler 2022-08-16 16:46:03 +08:00
Zixuan Chen
028e3ba3f9 feat: rle tree insert 2022-08-16 16:46:03 +08:00
Zixuan Chen
80ea31883e chore: use official enum-as-inner
#[inline] is added by default now in v0.5.1
2022-08-16 16:46:03 +08:00
Zixuan Chen
9ecd0417bd feat: init 2022-08-16 16:46:03 +08:00
Zixuan Chen
1ca2b4226e feat: dag init 2022-08-05 01:34:47 +08:00
Zixuan Chen
2c7e2de763 feat: rle 2022-07-13 00:47:41 +08:00