toeverything / OctoBase

🐙 OctoBase is the open-source database behind AFFiNE, local-first, yet collaborative. A light-weight, scalable, data engine written in Rust.
https://octobase.dev
GNU Affero General Public License v3.0
1.32k stars 83 forks source link

fix: dead lock in map #518

Closed darkskygit closed 1 year ago

vercel[bot] commented 1 year ago

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
octobase ✅ Ready (Inspect) Visit Preview 💬 Add feedback Aug 22, 2023 10:32am
codecov[bot] commented 1 year ago

Codecov Report

Patch coverage: 100.00% and project coverage change: +0.03% :tada:

Comparison is base (6e9722a) 64.67% compared to head (829fd6c) 64.70%.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #518 +/- ## ========================================== + Coverage 64.67% 64.70% +0.03% ========================================== Files 184 184 Lines 20992 21005 +13 ========================================== + Hits 13576 13592 +16 + Misses 7416 7413 -3 ``` | [Files Changed](https://app.codecov.io/gh/toeverything/OctoBase/pull/518?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=toeverything) | Coverage Δ | | |---|---|---| | [libs/jwst-codec/src/doc/types/map.rs](https://app.codecov.io/gh/toeverything/OctoBase/pull/518?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=toeverything#diff-bGlicy9qd3N0LWNvZGVjL3NyYy9kb2MvdHlwZXMvbWFwLnJz) | `91.54% <100.00%> (+1.04%)` | :arrow_up: | ... and [3 files with indirect coverage changes](https://app.codecov.io/gh/toeverything/OctoBase/pull/518/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=toeverything)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

github-actions[bot] commented 1 year ago

Benchmark Results

Linux

group                                     master                                 pr
-----                                     ------                                 --
codec/jwst decode var_int (32 bit)        1.00   400.8±13.62µs        ? ?/sec    1.01   403.6±14.80µs        ? ?/sec
codec/jwst decode var_uint (32 bit)       1.00   351.6±10.05µs        ? ?/sec    1.00   350.7±11.07µs        ? ?/sec
codec/jwst decode var_uint (64 bit)       1.00   356.2±10.61µs        ? ?/sec    1.00   357.2±15.33µs        ? ?/sec
codec/jwst encode var_int (32 bit)        1.03   569.0±21.11µs        ? ?/sec    1.00   554.5±14.50µs        ? ?/sec
codec/jwst encode var_uint (32 bit)       1.00   347.3±13.47µs        ? ?/sec    1.00   347.6±13.45µs        ? ?/sec
codec/jwst encode var_uint (64 bit)       1.00   346.3±11.34µs        ? ?/sec    1.00   347.2±12.14µs        ? ?/sec
codec/lib0 decode var_int (64 bit)        1.00   359.2±11.73µs        ? ?/sec    1.00   358.7±10.70µs        ? ?/sec
codec/lib0 decode var_uint (32 bit)       1.00   310.8±11.09µs        ? ?/sec    1.02   316.1±11.05µs        ? ?/sec
codec/lib0 decode var_uint (64 bit)       1.00    309.8±8.75µs        ? ?/sec    1.01    313.1±9.28µs        ? ?/sec
codec/lib0 encode var_int (64 bit)        1.00   516.2±15.89µs        ? ?/sec    1.00   517.4±14.53µs        ? ?/sec
codec/lib0 encode var_uint (32 bit)       1.00   350.0±12.20µs        ? ?/sec    1.00    351.1±9.68µs        ? ?/sec
codec/lib0 encode var_uint (64 bit)       1.00    345.6±9.36µs        ? ?/sec    1.01   350.3±13.76µs        ? ?/sec
ops/array/jwst/insert                     1.00   448.3±10.99µs        ? ?/sec    1.01   452.2±11.97µs        ? ?/sec
ops/array/jwst/insert range               1.00   618.2±13.31µs        ? ?/sec    1.00   618.3±21.31µs        ? ?/sec
ops/array/jwst/remove                     1.00    306.5±5.88µs        ? ?/sec    1.00    307.0±6.33µs        ? ?/sec
ops/array/yrs/insert                      1.01    110.2±3.39µs        ? ?/sec    1.00    109.0±4.40µs        ? ?/sec
ops/array/yrs/insert range                1.02    137.4±3.93µs        ? ?/sec    1.00    135.3±3.59µs        ? ?/sec
ops/array/yrs/remove                      1.00    127.1±4.55µs        ? ?/sec    1.03    130.3±5.35µs        ? ?/sec
ops/text/jwst/insert                      1.00    183.4±4.81µs        ? ?/sec    1.01    184.7±4.48µs        ? ?/sec
ops/text/jwst/remove                      1.01      3.8±0.07µs        ? ?/sec    1.00      3.7±0.11µs        ? ?/sec
ops/text/yrs/insert                       1.00     49.9±1.14µs        ? ?/sec    1.01     50.2±1.46µs        ? ?/sec
ops/text/yrs/remove                       1.02      3.0±0.19µs        ? ?/sec    1.00      2.9±0.07µs        ? ?/sec
update/parse with jwst/basic.bin          1.00     89.0±2.44µs    61.4 MB/sec    1.00     88.7±2.09µs    61.6 MB/sec
update/parse with jwst/database.bin       1.00     70.5±1.86µs    47.0 MB/sec    1.00     70.4±1.46µs    47.1 MB/sec
update/parse with jwst/large.bin          1.01      4.5±0.09ms    50.9 MB/sec    1.00      4.5±0.10ms    51.2 MB/sec
update/parse with jwst/with-subdoc.bin    1.01      8.2±0.40µs    85.0 MB/sec    1.00      8.2±0.24µs    85.9 MB/sec
update/parse with yrs/basic.bin           1.00     58.4±1.64µs    93.5 MB/sec    1.00     58.3±1.45µs    93.7 MB/sec
update/parse with yrs/database.bin        1.00     46.5±1.83µs    71.2 MB/sec    1.00     46.4±1.01µs    71.4 MB/sec
update/parse with yrs/large.bin           1.00      2.9±0.14ms    77.5 MB/sec    1.00      2.9±0.10ms    77.8 MB/sec
update/parse with yrs/with-subdoc.bin     1.05      8.1±0.20µs    85.9 MB/sec    1.00      7.8±0.19µs    89.9 MB/sec

Windows

group                                     master                                 pr
-----                                     ------                                 --
codec/jwst decode var_int (32 bit)        1.04   387.2±20.90µs        ? ?/sec    1.00   373.7±18.89µs        ? ?/sec
codec/jwst decode var_uint (32 bit)       1.01   448.4±24.51µs        ? ?/sec    1.00   445.5±24.69µs        ? ?/sec
codec/jwst decode var_uint (64 bit)       1.02   333.2±12.50µs        ? ?/sec    1.00   328.2±13.12µs        ? ?/sec
codec/jwst encode var_int (32 bit)        1.04   523.1±25.86µs        ? ?/sec    1.00   502.7±18.77µs        ? ?/sec
codec/jwst encode var_uint (32 bit)       1.06   325.1±20.62µs        ? ?/sec    1.00   307.8±14.98µs        ? ?/sec
codec/jwst encode var_uint (64 bit)       1.03   317.3±16.25µs        ? ?/sec    1.00   306.7±15.80µs        ? ?/sec
codec/lib0 decode var_int (64 bit)        1.03   450.6±21.51µs        ? ?/sec    1.00   435.5±16.18µs        ? ?/sec
codec/lib0 decode var_uint (32 bit)       1.05   255.5±14.48µs        ? ?/sec    1.00    243.6±6.54µs        ? ?/sec
codec/lib0 decode var_uint (64 bit)       1.05   256.6±13.67µs        ? ?/sec    1.00    244.9±6.72µs        ? ?/sec
codec/lib0 encode var_int (64 bit)        1.02   622.5±32.35µs        ? ?/sec    1.00   612.7±22.77µs        ? ?/sec
codec/lib0 encode var_uint (32 bit)       1.04   417.4±25.36µs        ? ?/sec    1.00    401.7±9.92µs        ? ?/sec
codec/lib0 encode var_uint (64 bit)       1.02   434.0±25.57µs        ? ?/sec    1.00   424.3±19.11µs        ? ?/sec
ops/array/jwst/insert                     1.00   422.7±11.42µs        ? ?/sec    1.02   429.1±17.54µs        ? ?/sec
ops/array/jwst/insert range               1.02   574.7±33.56µs        ? ?/sec    1.00   561.9±14.59µs        ? ?/sec
ops/array/jwst/remove                     1.05   284.0±12.31µs        ? ?/sec    1.00    271.8±6.86µs        ? ?/sec
ops/array/yrs/insert                      1.04    112.6±3.62µs        ? ?/sec    1.00    108.6±3.92µs        ? ?/sec
ops/array/yrs/insert range                1.03    155.9±8.93µs        ? ?/sec    1.00    151.9±3.35µs        ? ?/sec
ops/array/yrs/remove                      1.01   160.1±11.32µs        ? ?/sec    1.00    158.9±5.83µs        ? ?/sec
ops/text/jwst/insert                      1.03   190.8±11.65µs        ? ?/sec    1.00   185.1±10.83µs        ? ?/sec
ops/text/jwst/remove                      1.00      4.5±0.14µs        ? ?/sec    1.00      4.5±0.16µs        ? ?/sec
ops/text/yrs/insert                       1.02     48.6±2.26µs        ? ?/sec    1.00     47.5±2.23µs        ? ?/sec
ops/text/yrs/remove                       1.00      4.7±0.21µs        ? ?/sec    1.02      4.8±0.16µs        ? ?/sec
update/parse with jwst/basic.bin          1.01    100.1±4.46µs    54.5 MB/sec    1.00     98.8±2.97µs    55.3 MB/sec
update/parse with jwst/database.bin       1.00     76.8±2.41µs    43.2 MB/sec    1.03     78.9±4.04µs    42.0 MB/sec
update/parse with jwst/large.bin          1.00      4.7±0.19ms    49.1 MB/sec    1.03      4.8±0.22ms    47.7 MB/sec
update/parse with jwst/with-subdoc.bin    1.08     15.6±0.91µs    44.9 MB/sec    1.00     14.4±0.51µs    48.6 MB/sec
update/parse with yrs/basic.bin           1.02     67.3±2.09µs    81.2 MB/sec    1.00     66.0±2.26µs    82.7 MB/sec
update/parse with yrs/database.bin        1.00     52.7±1.92µs    62.9 MB/sec    1.00     52.9±1.50µs    62.6 MB/sec
update/parse with yrs/large.bin           1.00      3.2±0.13ms    71.0 MB/sec    1.01      3.3±0.21ms    70.3 MB/sec
update/parse with yrs/with-subdoc.bin     1.01     11.7±0.26µs    59.7 MB/sec    1.00     11.6±0.30µs    60.1 MB/sec