Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: continue node binding #43

Draft
wants to merge 75 commits into
base: main
Choose a base branch
from
Draft

Conversation

darkskygit
Copy link
Collaborator

No description provided.

@darkskygit darkskygit force-pushed the darksky/continue-node-binding branch from ba46789 to b60c673 Compare July 10, 2024 03:52
Copy link

Benchmark for Linux

Click to view benchmark
Test Base PR %
codec/jwst decode var_int (32 bit) 212.5±1.23µs 212.3±0.71µs -0.09%
codec/jwst decode var_uint (32 bit) 178.9±2.87µs 178.3±1.04µs -0.34%
codec/jwst decode var_uint (64 bit) 193.8±2.88µs 193.4±0.59µs -0.21%
codec/jwst encode var_int (32 bit) 333.6±16.52µs 331.0±3.64µs -0.78%
codec/jwst encode var_uint (32 bit) 254.5±6.04µs 255.9±9.10µs +0.55%
codec/jwst encode var_uint (64 bit) 254.0±3.86µs 254.1±3.90µs +0.04%
codec/lib0 decode var_int (64 bit) 186.3±2.68µs 185.5±2.22µs -0.43%
codec/lib0 decode var_uint (32 bit) 184.9±2.32µs 184.5±2.11µs -0.22%
codec/lib0 decode var_uint (64 bit) 184.1±1.89µs 184.6±3.16µs +0.27%
codec/lib0 encode var_int (64 bit) 388.7±10.81µs 386.4±1.16µs -0.59%
codec/lib0 encode var_uint (32 bit) 374.2±4.91µs 373.3±1.60µs -0.24%
codec/lib0 encode var_uint (64 bit) 373.4±1.65µs 373.0±0.62µs -0.11%
ops/array/jwst/insert 103.8±0.92µs 103.1±1.00µs -0.67%
ops/array/jwst/insert range 149.8±0.72µs 153.4±1.64µs +2.40%
ops/array/jwst/remove 55.7±0.26µs 55.6±0.98µs -0.18%
ops/array/yrs/insert 57.6±0.35µs 57.1±0.39µs -0.87%
ops/array/yrs/insert range 72.8±0.78µs 72.8±0.47µs -0.00%
ops/array/yrs/remove 66.3±0.47µs 62.4±0.77µs -5.88%
ops/map/jwst/get 217.4±1.91ns 215.8±2.08ns -0.74%
ops/map/jwst/insert 3.0±0.06µs 3.1±0.02µs +3.33%
ops/map/jwst/remove 4.3±0.02µs 4.3±0.02µs -0.00%
ops/map/yrs/get 238.5±1.18ns 239.3±3.38ns +0.34%
ops/map/yrs/insert 3.7±0.03µs 3.8±0.02µs +2.70%
ops/map/yrs/remove 4.9±0.03µs 4.8±0.03µs -2.04%
ops/text/jwst/insert 67.8±0.67µs 66.6±0.22µs -1.77%
ops/text/jwst/remove 1414.9±9.82ns 1393.0±10.60ns -1.55%
ops/text/yrs/insert 26.6±0.12µs 27.5±0.26µs +3.38%
ops/text/yrs/remove 1700.2±7.19ns 1699.6±13.42ns -0.04%
update/parse with jwst/basic.bin 39.9±0.26µs 39.1±0.18µs -2.01%
update/parse with jwst/database.bin 31.7±0.25µs 31.5±0.19µs -0.63%
update/parse with jwst/edge-case-left-right-same-node.bin 49.7±0.43µs 49.5±0.47µs -0.40%
update/parse with jwst/large.bin 3.6±0.05ms 3.6±0.03ms -0.00%
update/parse with jwst/with-subdoc.bin 5.3±0.02µs 5.3±0.05µs -0.00%
update/parse with yrs/basic.bin 30.0±0.27µs 30.1±0.17µs +0.33%
update/parse with yrs/database.bin 24.6±0.10µs 24.6±0.13µs -0.00%
update/parse with yrs/edge-case-left-right-same-node.bin 38.8±0.10µs 39.1±0.13µs +0.77%
update/parse with yrs/large.bin 2.3±0.01ms 2.4±0.01ms +4.35%
update/parse with yrs/with-subdoc.bin 4.0±0.03µs 4.2±0.02µs +5.00%

Benchmark for Windows

Click to view benchmark
Test Base PR %
codec/jwst decode var_int (32 bit) 213.9±5.02µs 212.8±1.95µs -0.51%
codec/jwst decode var_uint (32 bit) 181.4±4.54µs 180.8±5.18µs -0.33%
codec/jwst decode var_uint (64 bit) 182.6±3.61µs 184.0±6.89µs +0.77%
codec/jwst encode var_int (32 bit) 280.6±4.90µs 280.4±5.38µs -0.07%
codec/jwst encode var_uint (32 bit) 300.5±2.68µs 302.2±9.47µs +0.57%
codec/jwst encode var_uint (64 bit) 297.4±1.72µs 296.8±1.86µs -0.20%
codec/lib0 decode var_int (64 bit) 190.1±5.02µs 186.5±4.63µs -1.89%
codec/lib0 decode var_uint (32 bit) 185.7±4.78µs 184.0±3.78µs -0.92%
codec/lib0 decode var_uint (64 bit) 186.2±5.04µs 184.1±3.96µs -1.13%
codec/lib0 encode var_int (64 bit) 387.2±5.63µs 384.6±2.88µs -0.67%
codec/lib0 encode var_uint (32 bit) 385.8±4.40µs 373.3±1.00µs -3.24%
codec/lib0 encode var_uint (64 bit) 380.3±3.66µs 373.8±4.17µs -1.71%
ops/array/jwst/insert 122.9±1.28µs 125.1±1.45µs +1.79%
ops/array/jwst/insert range 179.9±1.08µs 187.5±4.00µs +4.22%
ops/array/jwst/remove 69.1±0.43µs 67.0±0.49µs -3.04%
ops/array/yrs/insert 71.3±0.46µs 70.6±0.84µs -0.98%
ops/array/yrs/insert range 96.8±0.60µs 96.3±0.51µs -0.52%
ops/array/yrs/remove 99.0±0.28µs 101.6±1.33µs +2.63%
ops/map/jwst/get 222.2±5.10ns 219.7±3.64ns -1.13%
ops/map/jwst/insert 4.6±0.03µs 5.0±0.08µs +8.70%
ops/map/jwst/remove 6.5±0.05µs 6.5±0.07µs -0.00%
ops/map/yrs/get 269.1±4.67ns 269.4±4.06ns +0.11%
ops/map/yrs/insert 5.7±0.05µs 6.7±0.03µs +17.54%
ops/map/yrs/remove 6.8±0.02µs 7.1±0.03µs +4.41%
ops/text/jwst/insert 87.7±0.86µs 86.1±1.61µs -1.82%
ops/text/jwst/remove 2.1±0.02µs 2.1±0.04µs -0.00%
ops/text/yrs/insert 32.2±0.44µs 32.4±0.20µs +0.62%
ops/text/yrs/remove 2.5±0.08µs 2.5±0.02µs -0.00%
update/parse with jwst/basic.bin 58.2±0.81µs 56.5±0.86µs -2.92%
update/parse with jwst/database.bin 43.9±0.30µs 45.2±0.53µs +2.96%
update/parse with jwst/edge-case-left-right-same-node.bin 69.4±0.49µs 70.7±0.36µs +1.87%
update/parse with jwst/large.bin 2.8±0.08ms 2.9±0.17ms +3.57%
update/parse with jwst/with-subdoc.bin 7.9±0.12µs 8.2±0.16µs +3.80%
update/parse with yrs/basic.bin 44.8±0.37µs 43.8±0.59µs -2.23%
update/parse with yrs/database.bin 36.5±0.37µs 34.3±1.22µs -6.03%
update/parse with yrs/edge-case-left-right-same-node.bin 58.6±1.43µs 56.0±1.71µs -4.44%
update/parse with yrs/large.bin 2.2±0.11ms 2.1±0.07ms -4.55%
update/parse with yrs/with-subdoc.bin 7.6±0.05µs 7.3±0.18µs -3.95%

Copy link

github-actions bot commented Sep 9, 2024

Benchmark for Linux

Click to view benchmark
Test Base PR %
codec/jwst decode var_int (32 bit) 212.6±1.19µs 212.8±0.33µs +0.09%
codec/jwst decode var_uint (32 bit) 178.2±1.04µs 178.2±0.43µs -0.00%
codec/jwst decode var_uint (64 bit) 180.8±1.50µs 206.3±0.35µs +14.10%
codec/jwst encode var_int (32 bit) 330.6±0.48µs 334.4±6.26µs +1.15%
codec/jwst encode var_uint (32 bit) 269.7±3.62µs 252.9±3.21µs -6.23%
codec/jwst encode var_uint (64 bit) 274.2±18.10µs 253.6±4.97µs -7.51%
codec/lib0 decode var_int (64 bit) 186.3±3.13µs 186.6±3.15µs +0.16%
codec/lib0 decode var_uint (32 bit) 185.4±4.83µs 184.8±3.42µs -0.32%
codec/lib0 decode var_uint (64 bit) 184.8±2.19µs 185.7±6.67µs +0.49%
codec/lib0 encode var_int (64 bit) 387.5±8.52µs 384.9±1.45µs -0.67%
codec/lib0 encode var_uint (32 bit) 373.0±0.84µs 373.7±0.27µs +0.19%
codec/lib0 encode var_uint (64 bit) 374.1±4.73µs 373.7±0.25µs -0.11%
ops/array/jwst/insert 102.8±0.78µs 102.3±0.96µs -0.49%
ops/array/jwst/insert range 154.3±4.01µs 154.3±0.66µs -0.00%
ops/array/jwst/remove 56.2±1.03µs 56.9±0.34µs +1.25%
ops/array/yrs/insert 55.1±0.44µs 57.4±0.68µs +4.17%
ops/array/yrs/insert range 71.1±0.61µs 72.8±0.55µs +2.39%
ops/array/yrs/remove 64.2±0.63µs 63.8±0.56µs -0.62%
ops/map/jwst/get 215.3±2.13ns 215.6±2.32ns +0.14%
ops/map/jwst/insert 3.1±0.03µs 3.2±0.04µs +3.23%
ops/map/jwst/remove 4.3±0.03µs 4.5±0.03µs +4.65%
ops/map/yrs/get 244.7±1.63ns 244.7±1.67ns -0.00%
ops/map/yrs/insert 3.8±0.05µs 3.7±0.02µs -2.63%
ops/map/yrs/remove 4.9±0.02µs 4.8±0.03µs -2.04%
ops/text/jwst/insert 66.2±1.06µs 69.0±1.14µs +4.23%
ops/text/jwst/remove 1447.8±17.84ns 1462.6±9.39ns +1.02%
ops/text/yrs/insert 27.5±0.57µs 26.3±0.57µs -4.36%
ops/text/yrs/remove 1691.5±19.19ns 1682.4±12.56ns -0.54%
update/parse with jwst/basic.bin 39.4±0.17µs 39.4±0.24µs -0.00%
update/parse with jwst/database.bin 31.7±0.10µs 31.7±0.27µs -0.00%
update/parse with jwst/edge-case-left-right-same-node.bin 50.6±0.21µs 50.7±0.26µs +0.20%
update/parse with jwst/large.bin 3.3±0.03ms 3.3±0.04ms -0.00%
update/parse with jwst/with-subdoc.bin 5.2±0.05µs 5.2±0.03µs -0.00%
update/parse with yrs/basic.bin 32.5±0.31µs 31.4±0.09µs -3.38%
update/parse with yrs/database.bin 26.0±0.19µs 25.7±0.31µs -1.15%
update/parse with yrs/edge-case-left-right-same-node.bin 43.1±0.34µs 41.5±0.35µs -3.71%
update/parse with yrs/large.bin 2.8±0.02ms 2.4±0.03ms -14.29%
update/parse with yrs/with-subdoc.bin 4.1±0.07µs 3.9±0.10µs -4.88%

Benchmark for Windows

Click to view benchmark
Test Base PR %
codec/jwst decode var_int (32 bit) 212.7±0.90µs 212.4±0.89µs -0.14%
codec/jwst decode var_uint (32 bit) 181.1±3.80µs 180.7±3.96µs -0.22%
codec/jwst decode var_uint (64 bit) 207.1±1.75µs 195.1±4.20µs -5.79%
codec/jwst encode var_int (32 bit) 303.4±1.95µs 302.2±1.26µs -0.40%
codec/jwst encode var_uint (32 bit) 255.4±6.77µs 268.4±2.18µs +5.09%
codec/jwst encode var_uint (64 bit) 263.9±5.81µs 265.8±2.05µs +0.72%
codec/lib0 decode var_int (64 bit) 188.8±6.10µs 190.4±5.84µs +0.85%
codec/lib0 decode var_uint (32 bit) 187.0±5.10µs 184.5±4.29µs -1.34%
codec/lib0 decode var_uint (64 bit) 182.3±2.10µs 186.6±4.99µs +2.36%
codec/lib0 encode var_int (64 bit) 385.4±5.47µs 385.0±5.71µs -0.10%
codec/lib0 encode var_uint (32 bit) 373.5±1.03µs 373.2±1.09µs -0.08%
codec/lib0 encode var_uint (64 bit) 373.6±1.17µs 373.4±1.72µs -0.05%
ops/array/jwst/insert 122.8±0.80µs 118.6±1.49µs -3.42%
ops/array/jwst/insert range 180.4±1.05µs 179.4±2.09µs -0.55%
ops/array/jwst/remove 66.3±0.83µs 64.2±0.77µs -3.17%
ops/array/yrs/insert 70.4±1.26µs 69.3±0.60µs -1.56%
ops/array/yrs/insert range 95.2±0.36µs 93.2±0.44µs -2.10%
ops/array/yrs/remove 100.4±5.96µs 97.9±0.26µs -2.49%
ops/map/jwst/get 223.2±4.15ns 218.4±4.65ns -2.15%
ops/map/jwst/insert 4.6±0.06µs 4.6±0.02µs -0.00%
ops/map/jwst/remove 6.3±0.03µs 6.6±0.03µs +4.76%
ops/map/yrs/get 273.7±5.55ns 269.6±3.77ns -1.50%
ops/map/yrs/insert 5.8±0.03µs 5.7±0.44µs -1.72%
ops/map/yrs/remove 6.9±0.04µs 6.8±0.10µs -1.45%
ops/text/jwst/insert 85.0±1.22µs 84.6±1.27µs -0.47%
ops/text/jwst/remove 2.1±0.01µs 2.1±0.01µs -0.00%
ops/text/yrs/insert 32.2±0.32µs 31.7±0.19µs -1.55%
ops/text/yrs/remove 2.5±0.01µs 2.5±0.01µs -0.00%
update/parse with jwst/basic.bin 55.1±0.46µs 55.5±0.63µs +0.73%
update/parse with jwst/database.bin 43.4±0.29µs 45.8±0.86µs +5.53%
update/parse with jwst/edge-case-left-right-same-node.bin 69.4±0.72µs 70.6±0.33µs +1.73%
update/parse with jwst/large.bin 2.6±0.05ms 2.8±0.06ms +7.69%
update/parse with jwst/with-subdoc.bin 8.2±0.07µs 8.2±0.03µs -0.00%
update/parse with yrs/basic.bin 44.7±0.28µs 44.4±0.40µs -0.67%
update/parse with yrs/database.bin 35.0±0.21µs 35.1±0.36µs +0.29%
update/parse with yrs/edge-case-left-right-same-node.bin 56.0±0.42µs 54.3±0.26µs -3.04%
update/parse with yrs/large.bin 2.2±0.06ms 2.1±0.07ms -4.55%
update/parse with yrs/with-subdoc.bin 7.3±0.06µs 7.3±0.12µs -0.00%

y-octo-node/src/awareness.rs Fixed Show fixed Hide fixed
y-octo-node/src/text.rs Fixed Show fixed Hide fixed
y-octo-node/src/text.rs Fixed Show fixed Hide fixed
y-octo-node/src/utils/ytype.rs Fixed Show fixed Hide fixed
y-octo-node/src/utils/ytype.rs Fixed Show fixed Hide fixed
y-octo-node/src/utils/ytype.rs Fixed Show fixed Hide fixed
y-octo-node/src/utils/ytype.rs Fixed Show fixed Hide fixed
y-octo-node/src/utils/ytype.rs Fixed Show fixed Hide fixed
y-octo-node/src/utils/ytype.rs Fixed Show fixed Hide fixed
Copy link

Benchmark for Linux

Click to view benchmark
Test Base PR %
codec/jwst decode var_int (32 bit) 212.8±2.53µs 243.2±3.90µs +14.29%
codec/jwst decode var_uint (32 bit) 178.2±0.95µs 178.4±1.43µs +0.11%
codec/jwst decode var_uint (64 bit) 193.2±0.46µs 206.4±0.87µs +6.83%
codec/jwst encode var_int (32 bit) 330.7±1.48µs 330.7±1.68µs -0.00%
codec/jwst encode var_uint (32 bit) 253.4±9.21µs 255.3±3.84µs +0.75%
codec/jwst encode var_uint (64 bit) 253.6±3.77µs 255.5±3.60µs +0.75%
codec/lib0 decode var_int (64 bit) 185.8±2.36µs 187.1±2.84µs +0.70%
codec/lib0 decode var_uint (32 bit) 184.6±1.99µs 198.6±1.67µs +7.58%
codec/lib0 decode var_uint (64 bit) 184.2±2.21µs 186.7±1.46µs +1.36%
codec/lib0 encode var_int (64 bit) 387.7±11.69µs 385.6±3.95µs -0.54%
codec/lib0 encode var_uint (32 bit) 373.0±0.36µs 374.2±1.26µs +0.32%
codec/lib0 encode var_uint (64 bit) 374.2±7.69µs 374.3±1.32µs +0.03%
ops/array/jwst/insert 100.9±1.59µs 103.6±0.62µs +2.68%
ops/array/jwst/insert range 152.9±3.04µs 156.0±0.76µs +2.03%
ops/array/jwst/remove 56.7±0.16µs 58.6±0.21µs +3.35%
ops/array/yrs/insert 55.3±1.10µs 55.0±0.63µs -0.54%
ops/array/yrs/insert range 70.7±0.60µs 70.2±1.34µs -0.71%
ops/array/yrs/remove 64.5±0.19µs 64.4±0.62µs -0.16%
ops/map/jwst/get 209.4±2.75ns 207.6±3.59ns -0.86%
ops/map/jwst/insert 3.1±0.02µs 3.1±0.05µs -0.00%
ops/map/jwst/remove 4.2±0.05µs 4.2±0.02µs -0.00%
ops/map/yrs/get 244.2±1.71ns 244.4±1.71ns +0.08%
ops/map/yrs/insert 3.8±0.03µs 3.7±0.02µs -2.63%
ops/map/yrs/remove 4.9±0.07µs 4.9±0.02µs -0.00%
ops/text/jwst/insert 68.1±1.77µs 65.9±0.59µs -3.23%
ops/text/jwst/remove 1448.0±24.41ns 1461.5±19.86ns +0.93%
ops/text/yrs/insert 26.5±0.32µs 27.3±0.38µs +3.02%
ops/text/yrs/remove 1670.3±24.68ns 1697.3±19.09ns +1.62%
update/parse with jwst/basic.bin 40.6±0.35µs 39.7±0.26µs -2.22%
update/parse with jwst/database.bin 33.3±0.14µs 31.8±0.12µs -4.50%
update/parse with jwst/edge-case-left-right-same-node.bin 53.2±0.53µs 51.2±0.16µs -3.76%
update/parse with jwst/large.bin 3.4±0.05ms 3.2±0.01ms -5.88%
update/parse with jwst/with-subdoc.bin 5.5±0.02µs 5.3±0.07µs -3.64%
update/parse with yrs/basic.bin 30.1±0.23µs 30.8±0.19µs +2.33%
update/parse with yrs/database.bin 24.6±0.09µs 25.1±0.19µs +2.03%
update/parse with yrs/edge-case-left-right-same-node.bin 41.2±0.35µs 41.5±0.65µs +0.73%
update/parse with yrs/large.bin 2.7±0.01ms 2.4±0.03ms -11.11%
update/parse with yrs/with-subdoc.bin 3.9±0.06µs 3.9±0.02µs -0.00%

Benchmark for Windows

Click to view benchmark
Test Base PR %
codec/jwst decode var_int (32 bit) 214.9±7.42µs 213.4±1.22µs -0.70%
codec/jwst decode var_uint (32 bit) 181.0±3.50µs 184.9±5.03µs +2.15%
codec/jwst decode var_uint (64 bit) 195.5±3.00µs 184.1±4.34µs -5.83%
codec/jwst encode var_int (32 bit) 278.1±3.03µs 306.5±9.14µs +10.21%
codec/jwst encode var_uint (32 bit) 270.0±3.97µs 294.0±5.46µs +8.89%
codec/jwst encode var_uint (64 bit) 265.4±5.33µs 289.3±5.26µs +9.01%
codec/lib0 decode var_int (64 bit) 190.6±6.67µs 187.4±6.40µs -1.68%
codec/lib0 decode var_uint (32 bit) 184.7±1.45µs 186.1±3.66µs +0.76%
codec/lib0 decode var_uint (64 bit) 185.5±3.55µs 185.5±4.15µs -0.00%
codec/lib0 encode var_int (64 bit) 386.1±4.92µs 386.2±2.53µs +0.03%
codec/lib0 encode var_uint (32 bit) 374.4±1.03µs 374.6±1.56µs +0.05%
codec/lib0 encode var_uint (64 bit) 374.0±1.28µs 374.9±2.26µs +0.24%
ops/array/jwst/insert 133.0±1.61µs 126.4±2.68µs -4.96%
ops/array/jwst/insert range 196.6±1.99µs 181.6±2.12µs -7.63%
ops/array/jwst/remove 73.2±0.74µs 63.0±1.23µs -13.93%
ops/array/yrs/insert 69.4±0.65µs 72.2±0.75µs +4.03%
ops/array/yrs/insert range 93.2±0.62µs 95.7±0.63µs +2.68%
ops/array/yrs/remove 100.4±0.37µs 100.5±0.84µs +0.10%
ops/map/jwst/get 222.9±6.92ns 234.4±7.41ns +5.16%
ops/map/jwst/insert 4.7±0.04µs 4.7±0.04µs -0.00%
ops/map/jwst/remove 6.4±0.03µs 6.6±0.18µs +3.12%
ops/map/yrs/get 269.8±5.03ns 269.6±4.48ns -0.07%
ops/map/yrs/insert 5.8±0.09µs 5.7±0.05µs -1.72%
ops/map/yrs/remove 6.9±0.03µs 6.8±0.02µs -1.45%
ops/text/jwst/insert 85.9±0.87µs 87.8±1.88µs +2.21%
ops/text/jwst/remove 2.2±0.01µs 2.2±0.02µs -0.00%
ops/text/yrs/insert 32.0±0.27µs 31.9±0.35µs -0.31%
ops/text/yrs/remove 2.5±0.02µs 2.5±0.01µs -0.00%
update/parse with jwst/basic.bin 55.8±0.76µs 59.1±0.62µs +5.91%
update/parse with jwst/database.bin 44.9±0.38µs 44.0±0.31µs -2.00%
update/parse with jwst/edge-case-left-right-same-node.bin 71.7±0.44µs 70.9±0.40µs -1.12%
update/parse with jwst/large.bin 2.8±0.08ms 2.8±0.08ms -0.00%
update/parse with jwst/with-subdoc.bin 8.3±0.04µs 8.2±0.05µs -1.20%
update/parse with yrs/basic.bin 46.1±0.35µs 44.2±0.35µs -4.12%
update/parse with yrs/database.bin 35.3±1.72µs 35.3±0.22µs -0.00%
update/parse with yrs/edge-case-left-right-same-node.bin 54.9±0.45µs 55.5±0.33µs +1.09%
update/parse with yrs/large.bin 2.1±0.09ms 2.2±0.08ms +4.76%
update/parse with yrs/with-subdoc.bin 7.1±0.06µs 7.3±0.05µs +2.82%

@darkskygit darkskygit force-pushed the darksky/continue-node-binding branch 2 times, most recently from a288b39 to 8516718 Compare September 12, 2024 10:35
@darkskygit darkskygit force-pushed the darksky/continue-node-binding branch from 8516718 to e95bef9 Compare September 12, 2024 10:46
@codecov-commenter
Copy link

codecov-commenter commented Sep 12, 2024

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

Attention: Patch coverage is 86.26943% with 53 lines in your changes missing coverage. Please review.

Project coverage is 86.26%. Comparing base (953eb92) to head (6ac18ef).
Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
y-octo-node/tests/yjs/testHelper.ts 86.26% 53 Missing ⚠️

❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@             Coverage Diff             @@
##             main      #43       +/-   ##
===========================================
+ Coverage   37.69%   86.26%   +48.57%     
===========================================
  Files           1        1               
  Lines         260      386      +126     
  Branches        0       31       +31     
===========================================
+ Hits           98      333      +235     
+ Misses        162       53      -109     
Flag Coverage Δ
node-binding-test 86.26% <86.26%> (+48.57%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link

Benchmark for Linux

Click to view benchmark
Test Base PR %
codec/jwst decode var_int (32 bit) 212.8±2.45µs 213.3±1.28µs +0.23%
codec/jwst decode var_uint (32 bit) 178.5±1.30µs 180.9±1.03µs +1.34%
codec/jwst decode var_uint (64 bit) 206.2±1.10µs 181.1±1.49µs -12.17%
codec/jwst encode var_int (32 bit) 330.7±1.35µs 333.5±2.11µs +0.85%
codec/jwst encode var_uint (32 bit) 257.1±2.08µs 254.6±4.24µs -0.97%
codec/jwst encode var_uint (64 bit) 257.1±1.70µs 254.7±4.33µs -0.93%
codec/lib0 decode var_int (64 bit) 187.0±3.30µs 185.8±1.98µs -0.64%
codec/lib0 decode var_uint (32 bit) 186.3±6.00µs 184.9±1.92µs -0.75%
codec/lib0 decode var_uint (64 bit) 185.2±3.01µs 184.8±1.88µs -0.22%
codec/lib0 encode var_int (64 bit) 385.4±2.55µs 384.1±0.68µs -0.34%
codec/lib0 encode var_uint (32 bit) 374.7±3.12µs 373.2±0.43µs -0.40%
codec/lib0 encode var_uint (64 bit) 374.0±0.92µs 373.2±0.76µs -0.21%
ops/array/jwst/insert 102.3±1.55µs 103.4±1.01µs +1.08%
ops/array/jwst/insert range 154.7±1.54µs 156.3±1.91µs +1.03%
ops/array/jwst/remove 57.2±0.11µs 58.5±0.91µs +2.27%
ops/array/yrs/insert 55.1±2.44µs 57.2±0.23µs +3.81%
ops/array/yrs/insert range 70.4±0.80µs 72.8±0.49µs +3.41%
ops/array/yrs/remove 64.1±0.61µs 63.0±0.43µs -1.72%
ops/map/jwst/get 219.6±3.48ns 215.4±3.06ns -1.91%
ops/map/jwst/insert 3.2±0.01µs 3.2±0.03µs -0.00%
ops/map/jwst/remove 4.3±0.11µs 4.3±0.02µs -0.00%
ops/map/yrs/get 242.8±2.03ns 243.7±1.43ns +0.37%
ops/map/yrs/insert 3.7±0.02µs 4.0±0.02µs +8.11%
ops/map/yrs/remove 4.8±0.03µs 4.9±0.05µs +2.08%
ops/text/jwst/insert 65.5±0.69µs 68.6±0.57µs +4.73%
ops/text/jwst/remove 1406.3±5.69ns 1440.2±11.01ns +2.41%
ops/text/yrs/insert 27.2±0.27µs 27.7±0.31µs +1.84%
ops/text/yrs/remove 1630.2±33.76ns 1692.8±10.97ns +3.84%
update/parse with jwst/basic.bin 41.8±0.33µs 40.2±0.15µs -3.83%
update/parse with jwst/database.bin 33.4±0.10µs 32.4±0.19µs -2.99%
update/parse with jwst/edge-case-left-right-same-node.bin 53.3±0.35µs 51.8±0.27µs -2.81%
update/parse with jwst/large.bin 3.4±0.14ms 3.3±0.04ms -2.94%
update/parse with jwst/with-subdoc.bin 5.6±0.06µs 5.2±0.03µs -7.14%
update/parse with yrs/basic.bin 30.4±0.25µs 31.0±0.99µs +1.97%
update/parse with yrs/database.bin 24.8±0.14µs 25.1±0.14µs +1.21%
update/parse with yrs/edge-case-left-right-same-node.bin 39.8±0.62µs 40.4±0.13µs +1.51%
update/parse with yrs/large.bin 2.4±0.03ms 2.4±0.01ms -0.00%
update/parse with yrs/with-subdoc.bin 3.7±0.01µs 3.9±0.01µs +5.41%

Benchmark for Windows

Click to view benchmark
Test Base PR %
codec/jwst decode var_int (32 bit) 214.0±2.79µs 213.3±1.49µs -0.33%
codec/jwst decode var_uint (32 bit) 180.0±3.16µs 180.7±3.15µs +0.39%
codec/jwst decode var_uint (64 bit) 195.3±4.18µs 183.4±3.91µs -6.09%
codec/jwst encode var_int (32 bit) 281.2±8.70µs 305.6±4.43µs +8.68%
codec/jwst encode var_uint (32 bit) 268.7±2.32µs 293.0±3.91µs +9.04%
codec/jwst encode var_uint (64 bit) 264.7±3.81µs 290.7±10.87µs +9.82%
codec/lib0 decode var_int (64 bit) 190.6±7.25µs 190.0±7.91µs -0.31%
codec/lib0 decode var_uint (32 bit) 184.3±2.93µs 186.2±4.33µs +1.03%
codec/lib0 decode var_uint (64 bit) 186.2±4.02µs 189.7±5.44µs +1.88%
codec/lib0 encode var_int (64 bit) 386.3±4.91µs 384.5±1.44µs -0.47%
codec/lib0 encode var_uint (32 bit) 385.1±2.65µs 373.3±1.22µs -3.06%
codec/lib0 encode var_uint (64 bit) 379.6±1.48µs 373.3±1.04µs -1.66%
ops/array/jwst/insert 128.6±1.73µs 124.5±1.07µs -3.19%
ops/array/jwst/insert range 192.2±1.27µs 185.0±1.14µs -3.75%
ops/array/jwst/remove 65.9±0.30µs 62.6±0.22µs -5.01%
ops/array/yrs/insert 69.4±0.48µs 71.2±0.41µs +2.59%
ops/array/yrs/insert range 93.5±0.37µs 96.0±0.89µs +2.67%
ops/array/yrs/remove 100.3±0.92µs 99.3±1.50µs -1.00%
ops/map/jwst/get 220.8±6.31ns 233.0±5.60ns +5.53%
ops/map/jwst/insert 4.6±0.07µs 4.5±0.04µs -2.17%
ops/map/jwst/remove 6.4±0.04µs 6.4±0.02µs -0.00%
ops/map/yrs/get 271.5±5.83ns 268.4±3.91ns -1.14%
ops/map/yrs/insert 5.7±0.07µs 5.6±0.09µs -1.75%
ops/map/yrs/remove 6.8±0.05µs 6.8±0.06µs -0.00%
ops/text/jwst/insert 85.5±0.62µs 84.9±1.28µs -0.70%
ops/text/jwst/remove 2.2±0.01µs 2.2±0.02µs -0.00%
ops/text/yrs/insert 32.0±0.12µs 31.8±0.34µs -0.62%
ops/text/yrs/remove 2.5±0.05µs 2.5±0.02µs -0.00%
update/parse with jwst/basic.bin 56.5±0.45µs 59.0±0.61µs +4.42%
update/parse with jwst/database.bin 45.1±0.27µs 44.8±0.27µs -0.67%
update/parse with jwst/edge-case-left-right-same-node.bin 69.7±0.55µs 69.3±0.42µs -0.57%
update/parse with jwst/large.bin 2.7±0.06ms 2.8±0.07ms +3.70%
update/parse with jwst/with-subdoc.bin 8.4±0.06µs 8.4±0.04µs -0.00%
update/parse with yrs/basic.bin 44.3±0.24µs 44.3±0.27µs -0.00%
update/parse with yrs/database.bin 35.5±0.30µs 35.7±0.17µs +0.56%
update/parse with yrs/edge-case-left-right-same-node.bin 57.2±0.53µs 56.0±0.32µs -2.10%
update/parse with yrs/large.bin 2.2±0.04ms 2.2±0.09ms -0.00%
update/parse with yrs/with-subdoc.bin 7.4±0.07µs 7.3±0.13µs -1.35%

{
let ret = f(self.doc.clone());
for (k, v) in self.doc.get_changed() {
self.changed.entry(k).or_insert_with(Vec::new).extend(v.iter().cloned());

Check failure

Code scanning / clippy

use of or_insert_with to construct default value Error documentation

use of or\_insert\_with to construct default value
Comment on lines +56 to +58
let Some(batch) = doc.batch.get_mut() else {
return None;
};

Check failure

Code scanning / clippy

this let...else may be rewritten with the ? operator Error documentation

this let...else may be rewritten with the ? operator
@@ -199,6 +198,17 @@
}
}

pub fn get_changed(&self) -> ChangedTypeRefs {

Check failure

Code scanning / clippy

type doc::types::YTypeRef is more private than the item doc::document::Doc::get_changed Error documentation

type doc::types::YTypeRef is more private than the item doc::document::Doc::get\_changed
@@ -758,6 +779,24 @@
Ok(update)
}

fn mark_changed(changed: &mut ChangedTypeRefs, parent: YTypeRef, parent_sub: Option<SmolStr>) {
if parent.inner.is_some() {
let vec = changed.entry(parent).or_insert_with(Vec::new);

Check failure

Code scanning / clippy

use of or_insert_with to construct default value Error documentation

use of or\_insert\_with to construct default value
}
}

pub fn reset_changed(&mut self) {

Check failure

Code scanning / clippy

method reset_changed is never used Error documentation

method reset\_changed is never used
Copy link

Benchmark for Linux

Click to view benchmark
Test Base PR %
codec/jwst decode var_int (32 bit) 242.8±1.66µs 212.6±0.91µs -12.44%
codec/jwst decode var_uint (32 bit) 180.7±0.60µs 178.3±0.86µs -1.33%
codec/jwst decode var_uint (64 bit) 180.8±1.25µs 206.7±0.74µs +14.33%
codec/jwst encode var_int (32 bit) 333.5±2.05µs 330.8±1.79µs -0.81%
codec/jwst encode var_uint (32 bit) 250.8±4.34µs 246.3±2.02µs -1.79%
codec/jwst encode var_uint (64 bit) 252.6±4.48µs 246.3±1.89µs -2.49%
codec/lib0 decode var_int (64 bit) 186.1±2.83µs 186.4±2.72µs +0.16%
codec/lib0 decode var_uint (32 bit) 185.2±2.53µs 185.2±2.77µs -0.00%
codec/lib0 decode var_uint (64 bit) 185.4±3.20µs 185.2±2.48µs -0.11%
codec/lib0 encode var_int (64 bit) 384.5±2.26µs 389.9±4.98µs +1.40%
codec/lib0 encode var_uint (32 bit) 373.3±1.02µs 373.5±2.50µs +0.05%
codec/lib0 encode var_uint (64 bit) 375.8±13.11µs 373.1±0.74µs -0.72%
ops/array/jwst/insert 104.6±1.38µs 108.9±0.94µs +4.11%
ops/array/jwst/insert range 158.7±3.09µs 163.4±0.68µs +2.96%
ops/array/jwst/remove 56.8±0.32µs 59.2±0.24µs +4.23%
ops/array/yrs/insert 59.0±0.65µs 59.2±1.79µs +0.34%
ops/array/yrs/insert range 73.5±0.29µs 74.1±0.55µs +0.82%
ops/array/yrs/remove 67.5±0.90µs 68.1±0.30µs +0.89%
ops/map/jwst/get 210.2±1.30ns 215.8±4.80ns +2.66%
ops/map/jwst/insert 3.1±0.02µs 3.5±0.02µs +12.90%
ops/map/jwst/remove 4.3±0.03µs 4.9±0.02µs +13.95%
ops/map/yrs/get 245.7±9.97ns 240.0±1.32ns -2.32%
ops/map/yrs/insert 3.7±0.05µs 3.9±0.50µs +5.41%
ops/map/yrs/remove 4.8±0.03µs 4.9±0.02µs +2.08%
ops/text/jwst/insert 65.6±1.08µs 70.7±0.50µs +7.77%
ops/text/jwst/remove 1442.5±12.71ns 1505.9±10.81ns +4.40%
ops/text/yrs/insert 27.0±0.22µs 26.7±0.13µs -1.11%
ops/text/yrs/remove 1652.7±15.72ns 1667.3±13.90ns +0.88%
update/parse with jwst/basic.bin 39.5±0.39µs 40.1±0.18µs +1.52%
update/parse with jwst/database.bin 30.2±0.18µs 31.1±0.21µs +2.98%
update/parse with jwst/edge-case-left-right-same-node.bin 50.8±0.23µs 52.6±0.27µs +3.54%
update/parse with jwst/large.bin 3.6±0.02ms 3.6±0.02ms -0.00%
update/parse with jwst/with-subdoc.bin 5.2±0.04µs 5.4±0.01µs +3.85%
update/parse with yrs/basic.bin 30.3±0.16µs 30.9±0.10µs +1.98%
update/parse with yrs/database.bin 23.2±0.12µs 23.0±0.11µs -0.86%
update/parse with yrs/edge-case-left-right-same-node.bin 39.3±0.59µs 40.2±0.40µs +2.29%
update/parse with yrs/large.bin 2.4±0.02ms 2.4±0.06ms -0.00%
update/parse with yrs/with-subdoc.bin 4.3±0.02µs 4.2±0.02µs -2.33%

Benchmark for Windows

Click to view benchmark
Test Base PR %
codec/jwst decode var_int (32 bit) 213.9±2.20µs 212.7±1.49µs -0.56%
codec/jwst decode var_uint (32 bit) 180.9±4.16µs 180.5±2.68µs -0.22%
codec/jwst decode var_uint (64 bit) 208.0±2.58µs 183.2±3.35µs -11.92%
codec/jwst encode var_int (32 bit) 307.2±6.21µs 302.7±2.07µs -1.46%
codec/jwst encode var_uint (32 bit) 275.1±5.67µs 286.8±3.74µs +4.25%
codec/jwst encode var_uint (64 bit) 274.5±3.32µs 284.5±7.76µs +3.64%
codec/lib0 decode var_int (64 bit) 192.5±8.32µs 186.5±3.35µs -3.12%
codec/lib0 decode var_uint (32 bit) 185.2±4.68µs 185.2±3.73µs -0.00%
codec/lib0 decode var_uint (64 bit) 187.6±5.53µs 192.1±6.91µs +2.40%
codec/lib0 encode var_int (64 bit) 385.4±3.56µs 386.0±1.92µs +0.16%
codec/lib0 encode var_uint (32 bit) 374.1±1.74µs 374.7±2.08µs +0.16%
codec/lib0 encode var_uint (64 bit) 375.0±5.42µs 373.8±2.15µs -0.32%
ops/array/jwst/insert 120.2±1.44µs 127.2±1.34µs +5.82%
ops/array/jwst/insert range 180.1±1.53µs 191.8±1.77µs +6.50%
ops/array/jwst/remove 64.9±1.31µs 63.5±0.50µs -2.16%
ops/array/yrs/insert 70.0±0.66µs 72.0±0.87µs +2.86%
ops/array/yrs/insert range 95.1±1.36µs 95.4±0.51µs +0.32%
ops/array/yrs/remove 98.7±0.76µs 102.7±0.72µs +4.05%
ops/map/jwst/get 224.1±7.18ns 219.7±6.32ns -1.96%
ops/map/jwst/insert 4.6±0.03µs 5.2±0.05µs +13.04%
ops/map/jwst/remove 6.5±0.05µs 7.3±0.07µs +12.31%
ops/map/yrs/get 272.3±6.29ns 267.5±3.54ns -1.76%
ops/map/yrs/insert 5.7±0.03µs 5.7±0.06µs -0.00%
ops/map/yrs/remove 6.8±0.04µs 6.8±0.07µs -0.00%
ops/text/jwst/insert 84.3±0.92µs 88.2±1.70µs +4.63%
ops/text/jwst/remove 2.2±0.01µs 2.3±0.01µs +4.55%
ops/text/yrs/insert 32.0±0.19µs 32.4±0.20µs +1.25%
ops/text/yrs/remove 2.5±0.02µs 2.5±0.01µs -0.00%
update/parse with jwst/basic.bin 55.5±0.61µs 57.1±0.43µs +2.88%
update/parse with jwst/database.bin 46.3±0.38µs 45.4±0.55µs -1.94%
update/parse with jwst/edge-case-left-right-same-node.bin 70.3±0.52µs 70.7±0.71µs +0.57%
update/parse with jwst/large.bin 2.8±0.05ms 2.8±0.18ms -0.00%
update/parse with jwst/with-subdoc.bin 8.2±0.07µs 8.5±0.04µs +3.66%
update/parse with yrs/basic.bin 44.0±0.25µs 45.1±0.34µs +2.50%
update/parse with yrs/database.bin 36.2±0.26µs 35.3±0.33µs -2.49%
update/parse with yrs/edge-case-left-right-same-node.bin 58.6±0.51µs 56.4±0.29µs -3.75%
update/parse with yrs/large.bin 2.2±0.08ms 2.1±0.05ms -4.55%
update/parse with yrs/with-subdoc.bin 7.6±0.08µs 7.1±0.05µs -6.58%

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants