Skip to content

Commit

Permalink
Add CODEOWNERS for CLI crate (#1834)
Browse files Browse the repository at this point in the history
Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
  • Loading branch information
bfops and bfops authored Oct 10, 2024
1 parent 37087c2 commit 208751b
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@
/.github/CODEOWNERS @cloutiertyler
LICENSE.txt @cloutiertyler
/crates/client-api-messages/src/websocket.rs @centril @gefjon
/crates/cli/src/ @bfops @jdetter @cloutiertyler

2 comments on commit 208751b

@github-actions
Copy link

@github-actions github-actions bot commented on 208751b Oct 10, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Criterion benchmark results

Criterion benchmark report

YOU SHOULD PROBABLY IGNORE THESE RESULTS.

Criterion is a wall time based benchmarking system that is extremely noisy when run on CI. We collect these results for longitudinal analysis, but they are not reliable for comparing individual PRs.

Go look at the callgrind report instead.

empty

db on disk new latency old latency new throughput old throughput
sqlite 💿 417.1±2.11ns 413.2±2.08ns - -
sqlite 🧠 405.0±2.03ns 405.4±1.68ns - -
stdb_raw 💿 625.8±0.69ns 635.7±0.92ns - -
stdb_raw 🧠 623.5±3.91ns 632.0±3.30ns - -

insert_1

db on disk schema indices preload new latency old latency new throughput old throughput

insert_bulk

db on disk schema indices preload count new latency old latency new throughput old throughput
sqlite 💿 u32_u64_str btree_each_column 2048 256 587.0±0.87µs 603.8±59.42µs 1703 tx/sec 1656 tx/sec
sqlite 💿 u32_u64_str unique_0 2048 256 152.6±0.76µs 151.0±0.22µs 6.4 Ktx/sec 6.5 Ktx/sec
sqlite 💿 u32_u64_u64 btree_each_column 2048 256 468.9±0.88µs 466.2±0.30µs 2.1 Ktx/sec 2.1 Ktx/sec
sqlite 💿 u32_u64_u64 unique_0 2048 256 137.2±0.41µs 138.4±0.55µs 7.1 Ktx/sec 7.1 Ktx/sec
sqlite 🧠 u32_u64_str btree_each_column 2048 256 451.9±0.58µs 448.1±0.57µs 2.2 Ktx/sec 2.2 Ktx/sec
sqlite 🧠 u32_u64_str unique_0 2048 256 124.2±0.52µs 125.1±0.59µs 7.9 Ktx/sec 7.8 Ktx/sec
sqlite 🧠 u32_u64_u64 btree_each_column 2048 256 372.9±0.28µs 365.8±0.34µs 2.6 Ktx/sec 2.7 Ktx/sec
sqlite 🧠 u32_u64_u64 unique_0 2048 256 108.1±0.67µs 104.8±1.09µs 9.0 Ktx/sec 9.3 Ktx/sec
stdb_raw 💿 u32_u64_str btree_each_column 2048 256 574.8±49.03µs 581.5±33.47µs 1739 tx/sec 1719 tx/sec
stdb_raw 💿 u32_u64_str unique_0 2048 256 496.1±19.11µs 498.6±45.85µs 2015 tx/sec 2005 tx/sec
stdb_raw 💿 u32_u64_u64 btree_each_column 2048 256 372.0±16.31µs 377.7±5.14µs 2.6 Ktx/sec 2.6 Ktx/sec
stdb_raw 💿 u32_u64_u64 unique_0 2048 256 348.1±7.60µs 354.1±16.94µs 2.8 Ktx/sec 2.8 Ktx/sec
stdb_raw 🧠 u32_u64_str btree_each_column 2048 256 305.5±0.15µs 305.5±0.24µs 3.2 Ktx/sec 3.2 Ktx/sec
stdb_raw 🧠 u32_u64_str unique_0 2048 256 238.4±0.24µs 237.1±0.51µs 4.1 Ktx/sec 4.1 Ktx/sec
stdb_raw 🧠 u32_u64_u64 btree_each_column 2048 256 244.9±0.32µs 242.6±0.38µs 4.0 Ktx/sec 4.0 Ktx/sec
stdb_raw 🧠 u32_u64_u64 unique_0 2048 256 220.2±0.08µs 218.0±0.21µs 4.4 Ktx/sec 4.5 Ktx/sec

iterate

db on disk schema indices new latency old latency new throughput old throughput
sqlite 💿 u32_u64_str unique_0 24.3±0.08µs 23.7±0.19µs 40.2 Ktx/sec 41.2 Ktx/sec
sqlite 💿 u32_u64_u64 unique_0 21.6±0.09µs 21.8±0.09µs 45.2 Ktx/sec 44.9 Ktx/sec
sqlite 🧠 u32_u64_str unique_0 21.3±0.15µs 21.3±0.13µs 45.8 Ktx/sec 45.9 Ktx/sec
sqlite 🧠 u32_u64_u64 unique_0 19.4±0.05µs 19.0±0.03µs 50.3 Ktx/sec 51.5 Ktx/sec
stdb_raw 💿 u32_u64_str unique_0 4.7±0.00µs 4.7±0.00µs 206.8 Ktx/sec 206.3 Ktx/sec
stdb_raw 💿 u32_u64_u64 unique_0 4.6±0.00µs 4.6±0.00µs 211.2 Ktx/sec 210.8 Ktx/sec
stdb_raw 🧠 u32_u64_str unique_0 4.7±0.00µs 4.7±0.00µs 206.3 Ktx/sec 206.1 Ktx/sec
stdb_raw 🧠 u32_u64_u64 unique_0 4.6±0.00µs 4.6±0.00µs 211.1 Ktx/sec 210.6 Ktx/sec

find_unique

db on disk key type preload new latency old latency new throughput old throughput

filter

db on disk key type index strategy load count new latency old latency new throughput old throughput
sqlite 💿 string index 2048 256 69.1±0.34µs 68.5±0.32µs 14.1 Ktx/sec 14.3 Ktx/sec
sqlite 💿 u64 index 2048 256 65.7±0.11µs 65.3±0.17µs 14.9 Ktx/sec 15.0 Ktx/sec
sqlite 🧠 string index 2048 256 66.1±0.19µs 65.4±0.21µs 14.8 Ktx/sec 14.9 Ktx/sec
sqlite 🧠 u64 index 2048 256 60.7±0.19µs 59.3±0.12µs 16.1 Ktx/sec 16.5 Ktx/sec
stdb_raw 💿 string index 2048 256 4.9±0.00µs 4.9±0.00µs 197.4 Ktx/sec 198.7 Ktx/sec
stdb_raw 💿 u64 index 2048 256 4.7±0.00µs 4.7±0.00µs 208.2 Ktx/sec 207.9 Ktx/sec
stdb_raw 🧠 string index 2048 256 4.9±0.00µs 4.9±0.00µs 197.7 Ktx/sec 198.8 Ktx/sec
stdb_raw 🧠 u64 index 2048 256 4.7±0.00µs 4.7±0.00µs 208.3 Ktx/sec 207.8 Ktx/sec

serialize

schema format count new latency old latency new throughput old throughput
u32_u64_str bflatn_to_bsatn_fast_path 100 3.3±0.01µs 3.3±0.01µs 29.2 Mtx/sec 29.2 Mtx/sec
u32_u64_str bflatn_to_bsatn_slow_path 100 3.0±0.00µs 3.0±0.01µs 31.7 Mtx/sec 31.8 Mtx/sec
u32_u64_str bsatn 100 2.4±0.03µs 2.4±0.01µs 39.8 Mtx/sec 39.8 Mtx/sec
u32_u64_str bsatn 100 40.5±0.10ns 40.5±0.14ns 2.3 Gtx/sec 2.3 Gtx/sec
u32_u64_str json 100 4.8±0.03µs 4.9±0.02µs 20.0 Mtx/sec 19.5 Mtx/sec
u32_u64_str json 100 7.3±0.06µs 7.1±0.04µs 13.2 Mtx/sec 13.5 Mtx/sec
u32_u64_str product_value 100 1014.1±0.80ns 1018.2±8.39ns 94.0 Mtx/sec 93.7 Mtx/sec
u32_u64_u64 bflatn_to_bsatn_fast_path 100 1158.0±4.17ns 1146.7±14.29ns 82.4 Mtx/sec 83.2 Mtx/sec
u32_u64_u64 bflatn_to_bsatn_slow_path 100 2.4±0.00µs 2.4±0.00µs 39.2 Mtx/sec 39.1 Mtx/sec
u32_u64_u64 bsatn 100 1685.3±29.41ns 1728.6±54.57ns 56.6 Mtx/sec 55.2 Mtx/sec
u32_u64_u64 bsatn 100 39.4±0.10ns 29.2±0.10ns 2.4 Gtx/sec 3.2 Gtx/sec
u32_u64_u64 json 100 3.2±0.10µs 3.2±0.03µs 29.5 Mtx/sec 29.4 Mtx/sec
u32_u64_u64 json 100 4.9±0.03µs 4.9±0.02µs 19.3 Mtx/sec 19.4 Mtx/sec
u32_u64_u64 product_value 100 1011.9±1.58ns 1012.5±1.56ns 94.2 Mtx/sec 94.2 Mtx/sec
u64_u64_u32 bflatn_to_bsatn_fast_path 100 923.4±1.70ns 929.8±1.06ns 103.3 Mtx/sec 102.6 Mtx/sec
u64_u64_u32 bflatn_to_bsatn_slow_path 100 2.4±0.00µs 2.5±0.03µs 39.0 Mtx/sec 38.8 Mtx/sec
u64_u64_u32 bsatn 100 1695.6±31.18ns 1678.7±33.21ns 56.2 Mtx/sec 56.8 Mtx/sec
u64_u64_u32 bsatn 100 723.8±0.53ns 708.2±0.53ns 131.8 Mtx/sec 134.7 Mtx/sec
u64_u64_u32 json 100 3.3±0.02µs 3.4±0.03µs 28.7 Mtx/sec 28.5 Mtx/sec
u64_u64_u32 json 100 5.1±0.18µs 5.0±0.00µs 18.9 Mtx/sec 19.1 Mtx/sec
u64_u64_u32 product_value 100 1015.5±0.83ns 1016.0±0.56ns 93.9 Mtx/sec 93.9 Mtx/sec

stdb_module_large_arguments

arg size new latency old latency new throughput old throughput
64KiB 111.2±8.38µs 103.4±8.08µs - -

stdb_module_print_bulk

line count new latency old latency new throughput old throughput
1 55.6±5.99µs 52.0±9.04µs - -
100 595.4±5.45µs 594.9±6.88µs - -
1000 5.3±0.03ms 5.5±0.08ms - -

remaining

name new latency old latency new throughput old throughput
special/db_game/circles/load=10 307.3±5.78µs 290.6±1.78µs - -
special/db_game/circles/load=100 316.4±8.72µs 291.0±1.32µs - -
special/db_game/ia_loop/load=10 0.0±0.00ns 0.0±0.00ns - -
special/db_game/ia_loop/load=100 0.0±0.00ns 0.0±0.00ns - -
sqlite/💿/update_bulk/u32_u64_str/unique_0/load=2048/count=256 56.4±0.20µs 55.8±0.30µs 17.3 Ktx/sec 17.5 Ktx/sec
sqlite/💿/update_bulk/u32_u64_u64/unique_0/load=2048/count=256 48.0±0.41µs 47.6±0.47µs 20.3 Ktx/sec 20.5 Ktx/sec
sqlite/🧠/update_bulk/u32_u64_str/unique_0/load=2048/count=256 41.7±0.10µs 41.5±0.10µs 23.4 Ktx/sec 23.5 Ktx/sec
sqlite/🧠/update_bulk/u32_u64_u64/unique_0/load=2048/count=256 37.1±0.04µs 37.2±0.17µs 26.3 Ktx/sec 26.3 Ktx/sec
stdb_module/💿/update_bulk/u32_u64_str/unique_0/load=2048/count=256 1275.2±23.65µs 1283.3±11.12µs 784 tx/sec 779 tx/sec
stdb_module/💿/update_bulk/u32_u64_u64/unique_0/load=2048/count=256 1035.4±5.96µs 1050.7±10.29µs 965 tx/sec 951 tx/sec
stdb_raw/💿/update_bulk/u32_u64_str/unique_0/load=2048/count=256 655.7±13.78µs 637.2±29.61µs 1525 tx/sec 1569 tx/sec
stdb_raw/💿/update_bulk/u32_u64_u64/unique_0/load=2048/count=256 487.7±15.11µs 491.8±10.17µs 2.0 Ktx/sec 2033 tx/sec
stdb_raw/🧠/update_bulk/u32_u64_str/unique_0/load=2048/count=256 376.8±0.45µs 373.1±0.52µs 2.6 Ktx/sec 2.6 Ktx/sec
stdb_raw/🧠/update_bulk/u32_u64_u64/unique_0/load=2048/count=256 341.7±0.55µs 339.1±0.38µs 2.9 Ktx/sec 2.9 Ktx/sec

@github-actions
Copy link

@github-actions github-actions bot commented on 208751b Oct 10, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Callgrind benchmark results

Callgrind Benchmark Report

These benchmarks were run using callgrind,
an instruction-level profiler. They allow comparisons between sqlite (sqlite), SpacetimeDB running through a module (stdb_module), and the underlying SpacetimeDB data storage engine (stdb_raw). Callgrind emulates a CPU to collect the below estimates.

Measurement changes larger than five percent are in bold.

In-memory benchmarks

callgrind: empty transaction

db total reads + writes old total reads + writes Δrw estimated cycles old estimated cycles Δcycles
stdb_raw 5395 5395 0.00% 5441 5441 0.00%
sqlite 5509 5509 0.00% 5871 5871 0.00%

callgrind: filter

db schema indices count preload _column data_type total reads + writes old total reads + writes Δrw estimated cycles old estimated cycles Δcycles
stdb_raw u32_u64_str no_index 64 128 1 u64 75388 75388 0.00% 75706 75674 0.04%
stdb_raw u32_u64_str no_index 64 128 2 string 117799 117799 0.00% 118281 118261 0.02%
stdb_raw u32_u64_str btree_each_column 64 128 2 string 24061 24061 0.00% 24423 24423 0.00%
stdb_raw u32_u64_str btree_each_column 64 128 1 u64 23029 23029 0.00% 23311 23303 0.03%
sqlite u32_u64_str no_index 64 128 2 string 144677 144677 0.00% 146163 146159 0.00%
sqlite u32_u64_str no_index 64 128 1 u64 124027 124027 0.00% 125345 125345 0.00%
sqlite u32_u64_str btree_each_column 64 128 1 u64 131344 131344 0.00% 132738 132730 0.01%
sqlite u32_u64_str btree_each_column 64 128 2 string 134476 134482 -0.00% 136146 136160 -0.01%

callgrind: insert bulk

db schema indices count preload total reads + writes old total reads + writes Δrw estimated cycles old estimated cycles Δcycles
stdb_raw u32_u64_str unique_0 64 128 896470 896285 0.02% 954916 954747 0.02%
stdb_raw u32_u64_str btree_each_column 64 128 1046825 1049195 -0.23% 1090583 1123627 -2.94%
sqlite u32_u64_str unique_0 64 128 398158 398158 0.00% 416104 416104 0.00%
sqlite u32_u64_str btree_each_column 64 128 983475 983475 0.00% 1022605 1022605 0.00%

callgrind: iterate

db schema indices count total reads + writes old total reads + writes Δrw estimated cycles old estimated cycles Δcycles
stdb_raw u32_u64_str unique_0 1024 152681 152681 0.00% 152731 152759 -0.02%
stdb_raw u32_u64_str unique_0 64 15706 15706 0.00% 15752 15752 0.00%
sqlite u32_u64_str unique_0 1024 1046653 1046653 0.00% 1050109 1050109 0.00%
sqlite u32_u64_str unique_0 64 74799 74799 0.00% 75885 75885 0.00%

callgrind: serialize_product_value

count format total reads + writes old total reads + writes Δrw estimated cycles old estimated cycles Δcycles
64 json 47374 47374 0.00% 49894 49894 0.00%
64 bsatn 25716 25716 0.00% 27960 27960 0.00%
16 bsatn 8117 8117 0.00% 9443 9443 0.00%
16 json 12126 12126 0.00% 13894 13894 0.00%

callgrind: update bulk

db schema indices count preload total reads + writes old total reads + writes Δrw estimated cycles old estimated cycles Δcycles
stdb_raw u32_u64_str unique_0 1024 1024 20410627 20410844 -0.00% 21248895 21249316 -0.00%
stdb_raw u32_u64_str unique_0 64 128 1302697 1302533 0.01% 1391797 1391641 0.01%
sqlite u32_u64_str unique_0 1024 1024 1802091 1802091 0.00% 1811641 1811641 0.00%
sqlite u32_u64_str unique_0 64 128 128437 128437 0.00% 131281 131281 0.00%
On-disk benchmarks

callgrind: empty transaction

db total reads + writes old total reads + writes Δrw estimated cycles old estimated cycles Δcycles
stdb_raw 5405 5405 0.00% 5451 5451 0.00%
sqlite 5551 5551 0.00% 5977 5977 0.00%

callgrind: filter

db schema indices count preload _column data_type total reads + writes old total reads + writes Δrw estimated cycles old estimated cycles Δcycles
stdb_raw u32_u64_str no_index 64 128 1 u64 75398 75398 0.00% 75672 75672 0.00%
stdb_raw u32_u64_str no_index 64 128 2 string 117793 117809 -0.01% 118323 118283 0.03%
stdb_raw u32_u64_str btree_each_column 64 128 2 string 24071 24071 0.00% 24425 24397 0.11%
stdb_raw u32_u64_str btree_each_column 64 128 1 u64 23039 23039 0.00% 23297 23297 0.00%
sqlite u32_u64_str no_index 64 128 1 u64 125948 125948 0.00% 127550 127550 0.00%
sqlite u32_u64_str no_index 64 128 2 string 146598 146598 0.00% 148404 148400 0.00%
sqlite u32_u64_str btree_each_column 64 128 2 string 136598 136598 0.00% 138642 138638 0.00%
sqlite u32_u64_str btree_each_column 64 128 1 u64 133458 133440 0.01% 135298 135272 0.02%

callgrind: insert bulk

db schema indices count preload total reads + writes old total reads + writes Δrw estimated cycles old estimated cycles Δcycles
stdb_raw u32_u64_str unique_0 64 128 846337 845885 0.05% 904141 903725 0.05%
stdb_raw u32_u64_str btree_each_column 64 128 996625 997696 -0.11% 1068707 1070296 -0.15%
sqlite u32_u64_str unique_0 64 128 415695 415695 0.00% 433007 433007 0.00%
sqlite u32_u64_str btree_each_column 64 128 1021736 1021736 0.00% 1059554 1059542 0.00%

callgrind: iterate

db schema indices count total reads + writes old total reads + writes Δrw estimated cycles old estimated cycles Δcycles
stdb_raw u32_u64_str unique_0 1024 152691 152691 0.00% 152729 152729 0.00%
stdb_raw u32_u64_str unique_0 64 15716 15716 0.00% 15758 15758 0.00%
sqlite u32_u64_str unique_0 1024 1049721 1049721 0.00% 1053443 1053443 0.00%
sqlite u32_u64_str unique_0 64 76571 76571 0.00% 77881 77881 0.00%

callgrind: serialize_product_value

count format total reads + writes old total reads + writes Δrw estimated cycles old estimated cycles Δcycles
64 json 47374 47374 0.00% 49894 49894 0.00%
64 bsatn 25716 25716 0.00% 27960 27960 0.00%
16 bsatn 8117 8117 0.00% 9443 9443 0.00%
16 json 12126 12126 0.00% 13894 13894 0.00%

callgrind: update bulk

db schema indices count preload total reads + writes old total reads + writes Δrw estimated cycles old estimated cycles Δcycles
stdb_raw u32_u64_str unique_0 1024 1024 19329835 19330537 -0.00% 20246059 20246887 -0.00%
stdb_raw u32_u64_str unique_0 64 128 1254331 1255061 -0.06% 1342039 1343013 -0.07%
sqlite u32_u64_str unique_0 1024 1024 1809652 1809652 0.00% 1818322 1818326 -0.00%
sqlite u32_u64_str unique_0 64 128 132569 132563 0.00% 135609 135603 0.00%

Please sign in to comment.