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

Dqlite LTS v1.17.1, go-dqlite v2 #202

Merged
merged 2 commits into from
Nov 15, 2024
Merged

Conversation

louiseschmidtgen
Copy link
Contributor

@louiseschmidtgen louiseschmidtgen commented Nov 12, 2024

Dqlite LTS, go-dqlite v2

Use the new Dqlite LTS v1.17.1 and go-dqlite v2.

This new version has a change that reduces the memory used for snapshots.

This PR waits on the Performance Test PR (#200) to confirm the performance as expected.

Copy link

github-actions bot commented Nov 12, 2024

Benchmark

Results
goos: linux
goarch: amd64
pkg: github.com/canonical/k8s-dqlite/test
cpu: AMD EPYC 7763 64-Core Processor                
                                        │      Before       │                 After                  │
                                        │      sec/op       │     sec/op       vs base               │
Compaction/sqlite-4                        19.53µ ±      8%    20.13µ ±    9%        ~ (p=0.209 n=7)
Compaction/dqlite-4                        42.37µ ±      2%    41.80µ ±    3%        ~ (p=0.710 n=7)
Create/sqlite/1-workers-4                  498.9µ ±      4%    514.0µ ±    5%        ~ (p=0.073 n=7)
Create/sqlite/4-workers-4                  482.9µ ±      2%    486.7µ ±    7%        ~ (p=0.805 n=7)
Create/sqlite/16-workers-4                 487.1µ ±     16%    475.9µ ±   15%        ~ (p=0.620 n=7)
Create/sqlite/64-workers-4                 497.0µ ±     44%    603.0µ ± 1820%        ~ (p=0.535 n=7)
Create/sqlite/128-workers-4                618.8µ ±     96%    691.3µ ±   69%        ~ (p=0.710 n=7)
Create/dqlite/1-workers-4                  1.201m ±      9%    1.136m ±   13%        ~ (p=0.128 n=7)
Create/dqlite/4-workers-4                 1035.4µ ±      9%    969.7µ ±    4%        ~ (p=0.165 n=7)
Create/dqlite/16-workers-4                1056.7µ ±      6%    995.8µ ±    5%   -5.76% (p=0.026 n=7)
Create/dqlite/64-workers-4                1061.5µ ±      4%    988.0µ ±    5%   -6.93% (p=0.002 n=7)
Create/dqlite/128-workers-4               1017.6µ ±     10%    999.6µ ±    2%        ~ (p=0.805 n=7)
Delete/sqlite/1-workers-4                  515.5µ ±      6%    504.4µ ±    1%   -2.14% (p=0.026 n=7)
Delete/sqlite/4-workers-4                  505.6µ ±      9%    467.3µ ±    7%   -7.57% (p=0.001 n=7)
Delete/sqlite/16-workers-4                 477.2µ ±     22%    428.2µ ±    8%  -10.28% (p=0.002 n=7)
Delete/sqlite/64-workers-4                 552.0µ ±     39%    469.0µ ±  212%        ~ (p=0.383 n=7)
Delete/sqlite/128-workers-4                712.6µ ±     39%    632.4µ ±   76%        ~ (p=0.383 n=7)
Delete/dqlite/1-workers-4                  1.122m ±      6%    1.102m ±    7%        ~ (p=0.456 n=7)
Delete/dqlite/4-workers-4                  1.026m ±      4%    1.005m ±   16%        ~ (p=0.620 n=7)
Delete/dqlite/16-workers-4                 1.032m ±     10%    1.008m ±    4%        ~ (p=0.259 n=7)
Delete/dqlite/64-workers-4                1037.8µ ±      3%    973.1µ ±    3%   -6.23% (p=0.001 n=7)
Delete/dqlite/128-workers-4               1008.2µ ±      9%    984.5µ ±    8%        ~ (p=0.053 n=7)
Get/sqlite-4                               233.8µ ±      1%    232.1µ ±    1%   -0.70% (p=0.004 n=7)
Get/dqlite-4                               354.7µ ±      2%    353.0µ ±    1%        ~ (p=0.073 n=7)
List/sqlite-tiny/all-4                     3.891µ ±      7%    4.124µ ±    5%   +5.99% (p=0.038 n=7)
List/sqlite-tiny/pagination-4              8.293µ ±      3%    8.277µ ±    3%        ~ (p=1.000 n=7)
List/sqlite-fits-in-page/all-4             7.542µ ±      4%    7.502µ ±    4%        ~ (p=0.535 n=7)
List/sqlite-fits-in-page/pagination-4      22.36µ ±      5%    21.89µ ±    4%        ~ (p=0.318 n=7)
List/sqlite-overflows-page/all-4           16.45µ ±      3%    17.07µ ±    4%   +3.78% (p=0.038 n=7)
List/sqlite-overflows-page/pagination-4    41.90µ ±      5%    42.88µ ±    9%        ~ (p=0.456 n=7)
List/dqlite-tiny/all-4                     2.927µ ±      8%    2.950µ ±    2%        ~ (p=0.165 n=7)
List/dqlite-tiny/pagination-4              6.053µ ±      2%    6.087µ ±    2%        ~ (p=0.221 n=7)
List/dqlite-fits-in-page/all-4             6.702µ ±      8%    6.622µ ±    7%        ~ (p=0.383 n=7)
List/dqlite-fits-in-page/pagination-4      17.45µ ±      3%    17.19µ ±    3%   -1.47% (p=0.038 n=7)
List/dqlite-overflows-page/all-4           21.22µ ±      7%    21.39µ ±    4%        ~ (p=0.383 n=7)
List/dqlite-overflows-page/pagination-4    43.89µ ±      5%    44.05µ ±    4%        ~ (p=0.535 n=7)
Update/sqlite/1-workers-4                  514.5µ ±      5%    523.1µ ±    5%        ~ (p=0.073 n=7)
Update/sqlite/4-workers-4                  522.7µ ±      7%    522.6µ ±   12%        ~ (p=1.000 n=7)
Update/sqlite/16-workers-4                 498.9µ ±     26%    530.7µ ±   12%        ~ (p=1.000 n=7)
Update/sqlite/64-workers-4                 519.3µ ± 203163%    667.0µ ±  140%        ~ (p=0.383 n=7)
Update/sqlite/128-workers-4                858.9µ ±   1376%    903.6µ ±  766%        ~ (p=1.000 n=7)
Update/dqlite/1-workers-4                  1.170m ±      4%    1.161m ±    8%        ~ (p=0.620 n=7)
Update/dqlite/4-workers-4                  1.041m ±      6%    1.082m ±   15%        ~ (p=0.318 n=7)
Update/dqlite/16-workers-4                 982.9µ ±      3%   1048.1µ ±   13%        ~ (p=0.620 n=7)
Update/dqlite/64-workers-4                 972.8µ ±      7%   1066.3µ ±    8%   +9.61% (p=0.001 n=7)
Update/dqlite/128-workers-4                1.168m ±     16%    1.095m ±    8%        ~ (p=0.259 n=7)
geomean                                    212.9µ              212.9µ           +0.00%

                                        │        Before        │                    After                     │
                                        │ page-cache-misses/op │ page-cache-misses/op  vs base                │
Compaction/sqlite-4                               0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Compaction/dqlite-4                               0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Create/sqlite/1-workers-4                         0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Create/sqlite/4-workers-4                         0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Create/sqlite/16-workers-4                        0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Create/sqlite/64-workers-4                        0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Create/sqlite/128-workers-4                       0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Create/dqlite/1-workers-4                         0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Create/dqlite/4-workers-4                         0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Create/dqlite/16-workers-4                        0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Create/dqlite/64-workers-4                        0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Create/dqlite/128-workers-4                       0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Delete/sqlite/1-workers-4                         0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Delete/sqlite/4-workers-4                         0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Delete/sqlite/16-workers-4                        0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Delete/sqlite/64-workers-4                        0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Delete/sqlite/128-workers-4                       0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Delete/dqlite/1-workers-4                         0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Delete/dqlite/4-workers-4                         0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Delete/dqlite/16-workers-4                        0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Delete/dqlite/64-workers-4                        0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Delete/dqlite/128-workers-4                       0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Get/sqlite-4                                      0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Get/dqlite-4                                      0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
List/sqlite-tiny/all-4                            0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
List/sqlite-tiny/pagination-4                     0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
List/sqlite-fits-in-page/all-4                    0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
List/sqlite-fits-in-page/pagination-4             0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
List/sqlite-overflows-page/all-4                  0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
List/sqlite-overflows-page/pagination-4           0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
List/dqlite-tiny/all-4                            0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
List/dqlite-tiny/pagination-4                     0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
List/dqlite-fits-in-page/all-4                    0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
List/dqlite-fits-in-page/pagination-4             0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
List/dqlite-overflows-page/all-4                  0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
List/dqlite-overflows-page/pagination-4           0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Update/sqlite/1-workers-4                         0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Update/sqlite/4-workers-4                         0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Update/sqlite/16-workers-4                        0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Update/sqlite/64-workers-4                        0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Update/sqlite/128-workers-4                       0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Update/dqlite/1-workers-4                         0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Update/dqlite/4-workers-4                         0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Update/dqlite/16-workers-4                        0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Update/dqlite/64-workers-4                        0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Update/dqlite/128-workers-4                       0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
geomean                                                      ²                         +0.00%               ²
¹ all samples are equal
² summaries must be >0 to compute geomean

                                        │        Before        │                    After                     │
                                        │ page-cache-spills/op │ page-cache-spills/op  vs base                │
Compaction/sqlite-4                               0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Compaction/dqlite-4                               0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Create/sqlite/1-workers-4                         0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Create/sqlite/4-workers-4                         0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Create/sqlite/16-workers-4                        0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Create/sqlite/64-workers-4                        0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Create/sqlite/128-workers-4                       0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Create/dqlite/1-workers-4                         0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Create/dqlite/4-workers-4                         0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Create/dqlite/16-workers-4                        0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Create/dqlite/64-workers-4                        0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Create/dqlite/128-workers-4                       0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Delete/sqlite/1-workers-4                         0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Delete/sqlite/4-workers-4                         0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Delete/sqlite/16-workers-4                        0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Delete/sqlite/64-workers-4                        0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Delete/sqlite/128-workers-4                       0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Delete/dqlite/1-workers-4                         0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Delete/dqlite/4-workers-4                         0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Delete/dqlite/16-workers-4                        0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Delete/dqlite/64-workers-4                        0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Delete/dqlite/128-workers-4                       0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Get/sqlite-4                                      0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Get/dqlite-4                                      0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
List/sqlite-tiny/all-4                            0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
List/sqlite-tiny/pagination-4                     0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
List/sqlite-fits-in-page/all-4                    0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
List/sqlite-fits-in-page/pagination-4             0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
List/sqlite-overflows-page/all-4                  0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
List/sqlite-overflows-page/pagination-4           0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
List/dqlite-tiny/all-4                            0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
List/dqlite-tiny/pagination-4                     0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
List/dqlite-fits-in-page/all-4                    0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
List/dqlite-fits-in-page/pagination-4             0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
List/dqlite-overflows-page/all-4                  0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
List/dqlite-overflows-page/pagination-4           0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Update/sqlite/1-workers-4                         0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Update/sqlite/4-workers-4                         0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Update/sqlite/16-workers-4                        0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Update/sqlite/64-workers-4                        0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Update/sqlite/128-workers-4                       0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Update/dqlite/1-workers-4                         0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Update/dqlite/4-workers-4                         0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Update/dqlite/16-workers-4                        0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Update/dqlite/64-workers-4                        0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Update/dqlite/128-workers-4                       0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
geomean                                                      ²                         +0.00%               ²
¹ all samples are equal
² summaries must be >0 to compute geomean

                                        │     Before     │                After                │
                                        │ page-reads/op  │ page-reads/op  vs base              │
Compaction/sqlite-4                        12.24 ±    1%     12.28 ±  2%       ~ (p=0.594 n=7)
Compaction/dqlite-4                        12.22 ±    1%     12.17 ±  1%       ~ (p=0.597 n=7)
Create/sqlite/1-workers-4                  13.87 ±    0%     13.86 ±  0%       ~ (p=0.110 n=7)
Create/sqlite/4-workers-4                  12.54 ±    2%     12.84 ±  1%  +2.39% (p=0.002 n=7)
Create/sqlite/16-workers-4                 11.06 ±    8%     10.96 ±  6%       ~ (p=0.710 n=7)
Create/sqlite/64-workers-4                 9.017 ±    7%     9.237 ± 45%       ~ (p=0.805 n=7)
Create/sqlite/128-workers-4                8.458 ±    9%     8.449 ±  5%       ~ (p=0.710 n=7)
Create/dqlite/1-workers-4                  12.99 ±    1%     12.99 ±  3%       ~ (p=0.685 n=7)
Create/dqlite/4-workers-4                  10.88 ±    2%     10.79 ±  1%       ~ (p=0.476 n=7)
Create/dqlite/16-workers-4                 10.81 ±    3%     10.79 ±  2%       ~ (p=0.830 n=7)
Create/dqlite/64-workers-4                 10.86 ±    1%     10.86 ±  1%       ~ (p=0.362 n=7)
Create/dqlite/128-workers-4                10.88 ±    1%     10.88 ±  1%       ~ (p=0.829 n=7)
Delete/sqlite/1-workers-4                  16.23 ±    0%     16.24 ±  0%       ~ (p=0.825 n=7)
Delete/sqlite/4-workers-4                  15.20 ±    3%     14.66 ±  2%  -3.55% (p=0.004 n=7)
Delete/sqlite/16-workers-4                 12.36 ±   12%     12.22 ±  4%       ~ (p=0.902 n=7)
Delete/sqlite/64-workers-4                 10.37 ±   11%     10.44 ±  7%       ~ (p=0.902 n=7)
Delete/sqlite/128-workers-4                9.457 ±    3%     9.420 ±  3%       ~ (p=0.805 n=7)
Delete/dqlite/1-workers-4                  15.63 ±    2%     15.56 ±  1%  -0.45% (p=0.023 n=7)
Delete/dqlite/4-workers-4                  13.23 ±    1%     13.20 ±  1%       ~ (p=0.242 n=7)
Delete/dqlite/16-workers-4                 13.24 ±    1%     13.15 ±  1%       ~ (p=0.120 n=7)
Delete/dqlite/64-workers-4                 13.25 ±    2%     13.06 ±  1%  -1.43% (p=0.001 n=7)
Delete/dqlite/128-workers-4                13.15 ±    1%     13.03 ±  1%  -0.91% (p=0.034 n=7)
Get/sqlite-4                               14.96 ±    0%     14.95 ±  0%       ~ (p=0.274 n=7)
Get/dqlite-4                               11.96 ±    0%     11.94 ±  0%       ~ (p=0.193 n=7)
List/sqlite-tiny/all-4                    191.2m ±    1%    192.4m ±  1%       ~ (p=0.057 n=7)
List/sqlite-tiny/pagination-4              1.131 ±    3%     1.131 ±  0%       ~ (p=1.000 n=7)
List/sqlite-fits-in-page/all-4            164.6m ±    1%    164.5m ±  1%       ~ (p=0.647 n=7)
List/sqlite-fits-in-page/pagination-4     964.1m ±    3%    962.9m ±  0%       ~ (p=0.776 n=7)
List/sqlite-overflows-page/all-4          177.1m ±    0%    177.1m ±  0%       ~ (p=1.000 n=7)
List/sqlite-overflows-page/pagination-4    1.505 ±   29%     1.602 ± 34%       ~ (p=0.902 n=7)
List/dqlite-tiny/all-4                    191.4m ±    0%    191.5m ±  0%       ~ (p=0.161 n=7)
List/dqlite-tiny/pagination-4              1.126 ±    3%     1.126 ±  3%       ~ (p=1.000 n=7)
List/dqlite-fits-in-page/all-4            164.0m ±    0%    164.0m ±  1%       ~ (p=0.654 n=7)
List/dqlite-fits-in-page/pagination-4     955.2m ±    0%    955.2m ±  3%       ~ (p=0.598 n=7)
List/dqlite-overflows-page/all-4          183.9m ±    0%    184.2m ±  0%  +0.16% (p=0.002 n=7)
List/dqlite-overflows-page/pagination-4    1.071 ±    3%     1.071 ±  3%       ~ (p=0.685 n=7)
Update/sqlite/1-workers-4                  15.82 ±    0%     15.80 ±  0%  -0.13% (p=0.035 n=7)
Update/sqlite/4-workers-4                  14.86 ±    2%     14.93 ±  2%       ~ (p=0.805 n=7)
Update/sqlite/16-workers-4                 13.42 ±    6%     13.28 ±  5%       ~ (p=0.902 n=7)
Update/sqlite/64-workers-4                 11.99 ± 2669%     11.51 ±  5%       ~ (p=0.684 n=7)
Update/sqlite/128-workers-4                10.43 ±   42%     11.06 ±  8%       ~ (p=0.128 n=7)
Update/dqlite/1-workers-4                  15.30 ±    1%     15.26 ±  1%       ~ (p=0.331 n=7)
Update/dqlite/4-workers-4                  12.65 ±    1%     12.52 ±  1%  -1.03% (p=0.007 n=7)
Update/dqlite/16-workers-4                 12.64 ±    1%     12.62 ±  1%       ~ (p=0.877 n=7)
Update/dqlite/64-workers-4                 12.65 ±    4%     13.01 ±  3%       ~ (p=0.135 n=7)
Update/dqlite/128-workers-4                13.61 ±    6%     13.20 ±  7%       ~ (p=0.259 n=7)
geomean                                    5.219             5.220        +0.01%

                                        │      Before      │                 After                  │
                                        │  page-writes/op  │ page-writes/op  vs base                │
Compaction/sqlite-4                       190.8m ±    1%       190.7m ±  1%       ~ (p=0.973 n=7)
Compaction/dqlite-4                       187.4m ±    1%       187.5m ±  0%       ~ (p=0.978 n=7)
Create/sqlite/1-workers-4                  4.355 ±    0%        4.357 ±  0%       ~ (p=0.626 n=7)
Create/sqlite/4-workers-4                  4.322 ±    1%        4.323 ±  1%       ~ (p=1.000 n=7)
Create/sqlite/16-workers-4                 4.293 ±    1%        4.284 ±  1%       ~ (p=0.511 n=7)
Create/sqlite/64-workers-4                 4.247 ±    1%        4.232 ±  5%       ~ (p=0.318 n=7)
Create/sqlite/128-workers-4                4.206 ±    2%        4.219 ±  3%       ~ (p=0.219 n=7)
Create/dqlite/1-workers-4                  4.175 ±    2%        4.240 ±  2%       ~ (p=0.053 n=7)
Create/dqlite/4-workers-4                  4.261 ±    1%        4.294 ±  0%       ~ (p=0.302 n=7)
Create/dqlite/16-workers-4                 4.267 ±    2%        4.281 ±  1%       ~ (p=0.058 n=7)
Create/dqlite/64-workers-4                 4.251 ±    1%        4.287 ±  1%  +0.85% (p=0.003 n=7)
Create/dqlite/128-workers-4                4.282 ±    1%        4.280 ±  0%       ~ (p=1.000 n=7)
Delete/sqlite/1-workers-4                  4.386 ±    0%        4.398 ±  0%  +0.27% (p=0.028 n=7)
Delete/sqlite/4-workers-4                  4.391 ±    1%        4.389 ±  1%       ~ (p=0.736 n=7)
Delete/sqlite/16-workers-4                 4.359 ±    1%        4.385 ±  1%       ~ (p=0.154 n=7)
Delete/sqlite/64-workers-4                 4.385 ±    2%        4.362 ±  1%       ~ (p=0.620 n=7)
Delete/sqlite/128-workers-4                4.314 ±    1%        4.353 ±  1%  +0.90% (p=0.024 n=7)
Delete/dqlite/1-workers-4                  4.361 ±    1%        4.367 ±  1%       ~ (p=0.831 n=7)
Delete/dqlite/4-workers-4                  4.368 ±    0%        4.358 ±  1%       ~ (p=0.103 n=7)
Delete/dqlite/16-workers-4                 4.373 ±    0%        4.367 ±  1%       ~ (p=0.302 n=7)
Delete/dqlite/64-workers-4                 4.368 ±    0%        4.358 ±  1%       ~ (p=0.510 n=7)
Delete/dqlite/128-workers-4                4.363 ±    1%        4.349 ±  1%       ~ (p=0.333 n=7)
Get/sqlite-4                               0.000 ±    0%        0.000 ±  0%       ~ (p=1.000 n=7) ¹
Get/dqlite-4                               0.000 ±    0%        0.000 ±  0%       ~ (p=1.000 n=7) ¹
List/sqlite-tiny/all-4                     0.000 ±    0%        0.000 ±  0%       ~ (p=1.000 n=7) ¹
List/sqlite-tiny/pagination-4              0.000 ±    0%        0.000 ±  0%       ~ (p=1.000 n=7) ¹
List/sqlite-fits-in-page/all-4             0.000 ±    0%        0.000 ±  0%       ~ (p=1.000 n=7) ¹
List/sqlite-fits-in-page/pagination-4      0.000 ±    0%        0.000 ±  0%       ~ (p=1.000 n=7) ¹
List/sqlite-overflows-page/all-4           0.000 ±    0%        0.000 ±  0%       ~ (p=1.000 n=7) ¹
List/sqlite-overflows-page/pagination-4    0.000 ±    0%        0.000 ±  0%       ~ (p=1.000 n=7) ¹
List/dqlite-tiny/all-4                     0.000 ±    0%        0.000 ±  0%       ~ (p=1.000 n=7) ¹
List/dqlite-tiny/pagination-4              0.000 ±    0%        0.000 ±  0%       ~ (p=1.000 n=7) ¹
List/dqlite-fits-in-page/all-4             0.000 ±    0%        0.000 ±  0%       ~ (p=1.000 n=7) ¹
List/dqlite-fits-in-page/pagination-4      0.000 ±    0%        0.000 ±  0%       ~ (p=1.000 n=7) ¹
List/dqlite-overflows-page/all-4           0.000 ±    0%        0.000 ±  0%       ~ (p=1.000 n=7) ¹
List/dqlite-overflows-page/pagination-4    0.000 ±    0%        0.000 ±  0%       ~ (p=1.000 n=7) ¹
Update/sqlite/1-workers-4                  4.241 ±    0%        4.242 ±  0%       ~ (p=0.872 n=7)
Update/sqlite/4-workers-4                  4.325 ±    0%        4.312 ±  1%       ~ (p=0.456 n=7)
Update/sqlite/16-workers-4                 4.320 ±    1%        4.319 ±  0%       ~ (p=0.902 n=7)
Update/sqlite/64-workers-4                 4.370 ± 5758%        4.341 ±  2%       ~ (p=0.200 n=7)
Update/sqlite/128-workers-4                4.431 ±   38%        4.588 ± 66%       ~ (p=0.620 n=7)
Update/dqlite/1-workers-4                  4.215 ±    1%        4.195 ±  1%       ~ (p=0.285 n=7)
Update/dqlite/4-workers-4                  4.200 ±    1%        4.206 ±  0%       ~ (p=0.513 n=7)
Update/dqlite/16-workers-4                 4.218 ±    1%        4.225 ±  1%       ~ (p=0.828 n=7)
Update/dqlite/64-workers-4                 4.290 ±    3%        4.382 ±  3%       ~ (p=0.165 n=7)
Update/dqlite/128-workers-4                4.570 ±    5%        4.472 ±  6%       ~ (p=0.195 n=7)
geomean                                                  ²                   +0.13%               ²
¹ all samples are equal
² summaries must be >0 to compute geomean

                                        │     Before      │                 After                 │
                                        │ sec-reading/op  │ sec-reading/op  vs base               │
Compaction/sqlite-4                        26.40µ ±   27%    28.70µ ±  14%   +8.71% (p=0.016 n=7)
Compaction/dqlite-4                        31.50µ ±   13%    34.00µ ±  19%        ~ (p=0.157 n=7)
Create/sqlite/1-workers-4                  18.00µ ±   14%    21.60µ ±  36%  +20.00% (p=0.004 n=7)
Create/sqlite/4-workers-4                  18.10µ ±   21%    22.30µ ±  31%        ~ (p=0.053 n=7)
Create/sqlite/16-workers-4                 20.60µ ±   33%    22.50µ ±   7%        ~ (p=0.091 n=7)
Create/sqlite/64-workers-4                 22.00µ ±   30%    21.00µ ±  52%        ~ (p=0.805 n=7)
Create/sqlite/128-workers-4                23.40µ ±   28%    23.20µ ±  20%        ~ (p=0.535 n=7)
Create/dqlite/1-workers-4                  8.400µ ±  110%   10.300µ ±  21%        ~ (p=0.456 n=7)
Create/dqlite/4-workers-4                 11.400µ ±   44%    9.300µ ±  55%        ~ (p=0.209 n=7)
Create/dqlite/16-workers-4                 10.00µ ±   40%    14.20µ ±  20%  +42.00% (p=0.038 n=7)
Create/dqlite/64-workers-4                 10.90µ ±   30%    12.30µ ±  50%        ~ (p=1.000 n=7)
Create/dqlite/128-workers-4                10.10µ ±   58%    12.40µ ±  62%        ~ (p=0.221 n=7)
Delete/sqlite/1-workers-4                  34.30µ ±   69%    31.30µ ±  15%        ~ (p=0.119 n=7)
Delete/sqlite/4-workers-4                  34.30µ ±   18%    31.30µ ±  18%        ~ (p=0.079 n=7)
Delete/sqlite/16-workers-4                 32.70µ ±   21%    33.80µ ±  16%        ~ (p=0.383 n=7)
Delete/sqlite/64-workers-4                 37.50µ ±   29%    39.50µ ±  10%        ~ (p=0.710 n=7)
Delete/sqlite/128-workers-4                35.30µ ±   34%    43.20µ ±  20%        ~ (p=0.073 n=7)
Delete/dqlite/1-workers-4                  11.50µ ±   54%    14.70µ ±  82%        ~ (p=0.097 n=7)
Delete/dqlite/4-workers-4                  15.50µ ±   31%    15.60µ ±  69%        ~ (p=0.318 n=7)
Delete/dqlite/16-workers-4                 14.90µ ±   21%    13.10µ ±  22%        ~ (p=0.306 n=7)
Delete/dqlite/64-workers-4                 15.50µ ±   35%    14.10µ ±  50%        ~ (p=0.778 n=7)
Delete/dqlite/128-workers-4                19.20µ ±   24%    16.70µ ±  28%        ~ (p=0.128 n=7)
Get/sqlite-4                               64.30µ ±    9%    64.50µ ±  10%        ~ (p=0.559 n=7)
Get/dqlite-4                               35.90µ ±   18%    31.70µ ±  17%        ~ (p=0.220 n=7)
List/sqlite-tiny/all-4                     6.400µ ±   20%    7.700µ ±  21%  +20.31% (p=0.019 n=7)
List/sqlite-tiny/pagination-4              14.70µ ±    2%    14.60µ ±   3%        ~ (p=0.916 n=7)
List/sqlite-fits-in-page/all-4             13.90µ ±   22%    13.70µ ±  20%        ~ (p=0.841 n=7)
List/sqlite-fits-in-page/pagination-4      37.60µ ±   15%    35.40µ ±  14%        ~ (p=0.209 n=7)
List/sqlite-overflows-page/all-4           12.80µ ±    3%    13.20µ ±   3%   +3.12% (p=0.032 n=7)
List/sqlite-overflows-page/pagination-4    45.30µ ±   25%    48.50µ ±  29%        ~ (p=0.710 n=7)
List/dqlite-tiny/all-4                     4.100µ ±   20%    4.100µ ±   2%        ~ (p=0.869 n=7)
List/dqlite-tiny/pagination-4              8.900µ ±    7%    8.800µ ±  10%        ~ (p=0.983 n=7)
List/dqlite-fits-in-page/all-4             9.300µ ±   15%    9.200µ ±  14%        ~ (p=0.648 n=7)
List/dqlite-fits-in-page/pagination-4      26.60µ ±   17%    26.30µ ±   8%        ~ (p=0.092 n=7)
List/dqlite-overflows-page/all-4           34.30µ ±   14%    34.50µ ±   7%        ~ (p=0.682 n=7)
List/dqlite-overflows-page/pagination-4    65.60µ ±   14%    70.60µ ±  11%        ~ (p=0.128 n=7)
Update/sqlite/1-workers-4                  18.10µ ±   28%    16.00µ ±  18%        ~ (p=0.318 n=7)
Update/sqlite/4-workers-4                  19.10µ ±   27%    18.90µ ±  27%        ~ (p=0.902 n=7)
Update/sqlite/16-workers-4                 20.90µ ±   29%    20.10µ ±  32%        ~ (p=1.000 n=7)
Update/sqlite/64-workers-4                 21.60µ ± 4530%    22.50µ ±  35%        ~ (p=1.000 n=7)
Update/sqlite/128-workers-4                25.70µ ±   85%    25.40µ ± 276%        ~ (p=0.559 n=7)
Update/dqlite/1-workers-4                  9.200µ ±   61%   10.700µ ±  24%        ~ (p=0.174 n=7)
Update/dqlite/4-workers-4                  11.90µ ±   35%    12.60µ ±  48%        ~ (p=0.435 n=7)
Update/dqlite/16-workers-4                 11.20µ ±   71%    10.80µ ±  26%        ~ (p=0.828 n=7)
Update/dqlite/64-workers-4                13.500µ ±   44%    9.400µ ± 102%        ~ (p=0.535 n=7)
Update/dqlite/128-workers-4               10.600µ ±   83%    7.400µ ±  86%        ~ (p=0.197 n=7)
geomean                                    18.29µ            18.56µ          +1.51%

                                        │      Before       │                  After                  │
                                        │  sec-writing/op   │ sec-writing/op  vs base                 │
Compaction/sqlite-4                       9.600µ ±    21%      8.900µ ±   9%   -7.29% (p=0.050 n=7)
Compaction/dqlite-4                       6.900µ ±     6%      6.500µ ±  11%        ~ (p=0.321 n=7)
Create/sqlite/1-workers-4                 268.4µ ±    11%      288.5µ ±   8%        ~ (p=0.259 n=7)
Create/sqlite/4-workers-4                 1.541m ±     8%      1.432m ±  10%   -7.07% (p=0.011 n=7)
Create/sqlite/16-workers-4                5.759m ±     9%      5.727m ±  22%        ~ (p=0.620 n=7)
Create/sqlite/64-workers-4                19.50m ±     8%      19.53m ± 370%        ~ (p=0.710 n=7)
Create/sqlite/128-workers-4               38.24m ±    29%      37.22m ±  33%        ~ (p=0.535 n=7)
Create/dqlite/1-workers-4                 48.50µ ±    32%      43.00µ ±  74%        ~ (p=0.165 n=7)
Create/dqlite/4-workers-4                 43.10µ ±    16%      47.60µ ±  15%        ~ (p=0.128 n=7)
Create/dqlite/16-workers-4                45.50µ ±    20%      67.80µ ±  33%  +49.01% (p=0.007 n=7)
Create/dqlite/64-workers-4                40.00µ ±    14%      62.20µ ±  38%  +55.50% (p=0.001 n=7)
Create/dqlite/128-workers-4               46.60µ ±     6%      58.20µ ±  25%  +24.89% (p=0.004 n=7)
Delete/sqlite/1-workers-4                 270.0µ ±     9%      285.0µ ±   8%        ~ (p=0.620 n=7)
Delete/sqlite/4-workers-4                 1.503m ±    11%      1.431m ±   9%   -4.79% (p=0.038 n=7)
Delete/sqlite/16-workers-4                5.858m ±    11%      5.149m ±   5%  -12.10% (p=0.004 n=7)
Delete/sqlite/64-workers-4                20.24m ±    18%      19.51m ±  44%        ~ (p=0.931 n=7)
Delete/sqlite/128-workers-4               38.79m ±    15%      35.51m ±  29%   -8.46% (p=0.038 n=7)
Delete/dqlite/1-workers-4                 41.10µ ±    18%      40.50µ ±  31%        ~ (p=0.535 n=7)
Delete/dqlite/4-workers-4                 44.00µ ±    22%      56.20µ ±  12%  +27.73% (p=0.001 n=7)
Delete/dqlite/16-workers-4                38.00µ ±    27%      43.00µ ±  37%        ~ (p=0.259 n=7)
Delete/dqlite/64-workers-4                45.80µ ±    19%      44.60µ ±  17%        ~ (p=0.837 n=7)
Delete/dqlite/128-workers-4               47.70µ ±    19%      44.00µ ±  38%        ~ (p=0.318 n=7)
Get/sqlite-4                               0.000 ±     0%       0.000 ±   0%        ~ (p=1.000 n=7) ¹
Get/dqlite-4                               0.000 ±     0%       0.000 ±   0%        ~ (p=1.000 n=7) ¹
List/sqlite-tiny/all-4                     0.000 ±     0%       0.000 ±   0%        ~ (p=1.000 n=7) ¹
List/sqlite-tiny/pagination-4              0.000 ±     0%       0.000 ±   0%        ~ (p=1.000 n=7) ¹
List/sqlite-fits-in-page/all-4             0.000 ±     0%       0.000 ±   0%        ~ (p=1.000 n=7) ¹
List/sqlite-fits-in-page/pagination-4      0.000 ±     0%       0.000 ±   0%        ~ (p=1.000 n=7) ¹
List/sqlite-overflows-page/all-4           0.000 ±     0%       0.000 ±   0%        ~ (p=1.000 n=7) ¹
List/sqlite-overflows-page/pagination-4    0.000 ±     0%       0.000 ±   0%        ~ (p=1.000 n=7) ¹
List/dqlite-tiny/all-4                     0.000 ±     0%       0.000 ±   0%        ~ (p=1.000 n=7) ¹
List/dqlite-tiny/pagination-4              0.000 ±     0%       0.000 ±   0%        ~ (p=1.000 n=7) ¹
List/dqlite-fits-in-page/all-4             0.000 ±     0%       0.000 ±   0%        ~ (p=1.000 n=7) ¹
List/dqlite-fits-in-page/pagination-4      0.000 ±     0%       0.000 ±   0%        ~ (p=1.000 n=7) ¹
List/dqlite-overflows-page/all-4           0.000 ±     0%       0.000 ±   0%        ~ (p=1.000 n=7) ¹
List/dqlite-overflows-page/pagination-4    0.000 ±     0%       0.000 ±   0%        ~ (p=1.000 n=7) ¹
Update/sqlite/1-workers-4                 294.7µ ±    12%      291.1µ ±   6%        ~ (p=0.805 n=7)
Update/sqlite/4-workers-4                 1.604m ±     8%      1.564m ±  17%        ~ (p=0.710 n=7)
Update/sqlite/16-workers-4                5.799m ±    12%      5.814m ±   7%        ~ (p=0.805 n=7)
Update/sqlite/64-workers-4                19.73m ± 37766%      19.94m ±  61%        ~ (p=0.620 n=7)
Update/sqlite/128-workers-4               42.81m ±   277%      45.38m ± 316%        ~ (p=0.805 n=7)
Update/dqlite/1-workers-4                 35.80µ ±    30%      39.90µ ±  37%        ~ (p=0.318 n=7)
Update/dqlite/4-workers-4                 38.20µ ±    19%      39.10µ ±  34%        ~ (p=0.558 n=7)
Update/dqlite/16-workers-4                48.10µ ±    15%      43.50µ ±  24%        ~ (p=0.710 n=7)
Update/dqlite/64-workers-4                45.40µ ±    20%      38.00µ ±  21%        ~ (p=0.053 n=7)
Update/dqlite/128-workers-4               50.40µ ±    25%      41.50µ ±  35%        ~ (p=0.128 n=7)
geomean                                                   ²                    +1.23%               ²
¹ all samples are equal
² summaries must be >0 to compute geomean

                                        │     Before      │                After                │
                                        │      B/op       │     B/op       vs base              │
Compaction/sqlite-4                       2.248Ki ±   37%   2.364Ki ± 16%       ~ (p=0.128 n=7)
Compaction/dqlite-4                       5.406Ki ±   18%   5.873Ki ± 14%       ~ (p=0.128 n=7)
Create/sqlite/1-workers-4                 20.49Ki ±    0%   20.50Ki ±  0%  +0.03% (p=0.006 n=7)
Create/sqlite/4-workers-4                 20.49Ki ±    0%   20.49Ki ±  0%       ~ (p=0.736 n=7)
Create/sqlite/16-workers-4                20.49Ki ±    0%   20.48Ki ±  0%       ~ (p=0.456 n=7)
Create/sqlite/64-workers-4                20.51Ki ±    0%   20.59Ki ±  9%       ~ (p=0.383 n=7)
Create/sqlite/128-workers-4               20.65Ki ±    1%   20.62Ki ±  1%       ~ (p=0.777 n=7)
Create/dqlite/1-workers-4                 19.77Ki ±    0%   19.75Ki ±  0%  -0.09% (p=0.038 n=7)
Create/dqlite/4-workers-4                 19.74Ki ±    0%   19.72Ki ±  0%       ~ (p=0.535 n=7)
Create/dqlite/16-workers-4                19.74Ki ±    0%   19.74Ki ±  0%       ~ (p=0.540 n=7)
Create/dqlite/64-workers-4                19.76Ki ±    0%   19.74Ki ±  0%  -0.09% (p=0.005 n=7)
Create/dqlite/128-workers-4               19.75Ki ±    0%   19.76Ki ±  0%       ~ (p=0.552 n=7)
Delete/sqlite/1-workers-4                 22.94Ki ±    0%   22.93Ki ±  0%       ~ (p=0.153 n=7)
Delete/sqlite/4-workers-4                 22.93Ki ±    0%   22.92Ki ±  0%  -0.05% (p=0.023 n=7)
Delete/sqlite/16-workers-4                22.92Ki ±    0%   22.90Ki ±  0%  -0.09% (p=0.001 n=7)
Delete/sqlite/64-workers-4                22.98Ki ±    0%   22.92Ki ±  1%       ~ (p=0.128 n=7)
Delete/sqlite/128-workers-4               23.05Ki ±    1%   22.99Ki ±  1%       ~ (p=0.128 n=7)
Delete/dqlite/1-workers-4                 22.03Ki ±    0%   22.02Ki ±  0%       ~ (p=0.096 n=7)
Delete/dqlite/4-workers-4                 22.00Ki ±    0%   21.99Ki ±  0%       ~ (p=0.079 n=7)
Delete/dqlite/16-workers-4                22.01Ki ±    0%   22.00Ki ±  0%       ~ (p=0.247 n=7)
Delete/dqlite/64-workers-4                22.02Ki ±    0%   22.01Ki ±  0%       ~ (p=0.274 n=7)
Delete/dqlite/128-workers-4               22.03Ki ±    0%   22.03Ki ±  0%       ~ (p=0.554 n=7)
Get/sqlite-4                              24.42Ki ±    0%   24.41Ki ±  0%       ~ (p=0.302 n=7)
Get/dqlite-4                              23.25Ki ±    0%   23.25Ki ±  0%       ~ (p=0.084 n=7)
List/sqlite-tiny/all-4                    1.146Ki ±   11%   1.266Ki ± 16%       ~ (p=0.079 n=7)
List/sqlite-tiny/pagination-4             1.574Ki ±    3%   1.562Ki ±  4%       ~ (p=0.119 n=7)
List/sqlite-fits-in-page/all-4            7.500Ki ±   11%   7.490Ki ± 13%       ~ (p=0.805 n=7)
List/sqlite-fits-in-page/pagination-4     10.61Ki ±   14%   10.04Ki ± 15%       ~ (p=0.383 n=7)
List/sqlite-overflows-page/all-4          20.53Ki ±    0%   20.54Ki ± 12%       ~ (p=0.054 n=7)
List/sqlite-overflows-page/pagination-4   27.44Ki ±   36%   29.10Ki ± 38%       ~ (p=0.902 n=7)
List/dqlite-tiny/all-4                    1.050Ki ±    6%   1.058Ki ±  6%       ~ (p=0.362 n=7)
List/dqlite-tiny/pagination-4               974.0 ±    5%     965.0 ±  4%       ~ (p=0.535 n=7)
List/dqlite-fits-in-page/all-4            6.013Ki ±    7%   6.049Ki ± 13%       ~ (p=0.833 n=7)
List/dqlite-fits-in-page/pagination-4     5.420Ki ±    9%   5.328Ki ±  8%       ~ (p=0.456 n=7)
List/dqlite-overflows-page/all-4          30.01Ki ±    8%   30.49Ki ±  8%  +1.58% (p=0.011 n=7)
List/dqlite-overflows-page/pagination-4   29.31Ki ±    7%   29.18Ki ±  5%       ~ (p=1.000 n=7)
Update/sqlite/1-workers-4                 22.29Ki ±    0%   22.29Ki ±  0%  +0.02% (p=0.039 n=7)
Update/sqlite/4-workers-4                 22.31Ki ±    0%   22.32Ki ±  0%       ~ (p=0.509 n=7)
Update/sqlite/16-workers-4                22.38Ki ±    0%   22.43Ki ±  0%       ~ (p=0.073 n=7)
Update/sqlite/64-workers-4                22.73Ki ± 6474%   22.53Ki ±  7%       ~ (p=0.318 n=7)
Update/sqlite/128-workers-4               23.22Ki ±   48%   23.98Ki ± 79%       ~ (p=0.535 n=7)
Update/dqlite/1-workers-4                 21.51Ki ±    0%   21.50Ki ±  0%       ~ (p=0.735 n=7)
Update/dqlite/4-workers-4                 21.52Ki ±    0%   21.52Ki ±  0%       ~ (p=0.557 n=7)
Update/dqlite/16-workers-4                21.53Ki ±    1%   21.62Ki ±  1%       ~ (p=0.646 n=7)
Update/dqlite/64-workers-4                21.71Ki ±    4%   22.21Ki ±  3%       ~ (p=0.209 n=7)
Update/dqlite/128-workers-4               23.29Ki ±    6%   22.61Ki ±  5%       ~ (p=0.259 n=7)
geomean                                   14.36Ki           14.44Ki        +0.52%

                                        │    Before     │                After                │
                                        │   allocs/op   │  allocs/op   vs base                │
Compaction/sqlite-4                       48.00 ±   38%   51.00 ± 16%       ~ (p=0.133 n=7)
Compaction/dqlite-4                       130.0 ±   18%   141.0 ± 14%       ~ (p=0.119 n=7)
Create/sqlite/1-workers-4                 399.0 ±    0%   399.0 ±  0%       ~ (p=1.000 n=7) ¹
Create/sqlite/4-workers-4                 399.0 ±    0%   399.0 ±  0%       ~ (p=1.000 n=7) ¹
Create/sqlite/16-workers-4                399.0 ±    0%   399.0 ±  0%       ~ (p=0.462 n=7)
Create/sqlite/64-workers-4                399.0 ±    1%   400.0 ±  1%       ~ (p=0.193 n=7)
Create/sqlite/128-workers-4               400.0 ±    0%   401.0 ±  0%       ~ (p=0.284 n=7)
Create/dqlite/1-workers-4                 369.0 ±    0%   369.0 ±  0%       ~ (p=1.000 n=7)
Create/dqlite/4-workers-4                 369.0 ±    0%   369.0 ±  0%       ~ (p=0.462 n=7)
Create/dqlite/16-workers-4                368.0 ±    0%   368.0 ±  0%       ~ (p=1.000 n=7)
Create/dqlite/64-workers-4                368.0 ±    0%   368.0 ±  0%       ~ (p=1.000 n=7) ¹
Create/dqlite/128-workers-4               368.0 ±    0%   368.0 ±  0%       ~ (p=1.000 n=7) ¹
Delete/sqlite/1-workers-4                 431.0 ±    0%   431.0 ±  0%       ~ (p=1.000 n=7) ¹
Delete/sqlite/4-workers-4                 431.0 ±    0%   431.0 ±  0%       ~ (p=1.000 n=7) ¹
Delete/sqlite/16-workers-4                431.0 ±    0%   431.0 ±  0%       ~ (p=0.559 n=7)
Delete/sqlite/64-workers-4                431.0 ±    0%   430.0 ±  0%       ~ (p=0.070 n=7)
Delete/sqlite/128-workers-4               432.0 ±    1%   431.0 ±  1%       ~ (p=0.452 n=7)
Delete/dqlite/1-workers-4                 399.0 ±    0%   399.0 ±  0%       ~ (p=1.000 n=7) ¹
Delete/dqlite/4-workers-4                 399.0 ±    0%   399.0 ±  0%       ~ (p=1.000 n=7) ¹
Delete/dqlite/16-workers-4                399.0 ±    0%   399.0 ±  0%       ~ (p=1.000 n=7) ¹
Delete/dqlite/64-workers-4                399.0 ±    0%   399.0 ±  0%       ~ (p=1.000 n=7) ¹
Delete/dqlite/128-workers-4               399.0 ±    0%   398.0 ±  0%       ~ (p=1.000 n=7)
Get/sqlite-4                              445.0 ±    0%   445.0 ±  0%       ~ (p=1.000 n=7) ¹
Get/dqlite-4                              412.0 ±    0%   412.0 ±  0%       ~ (p=1.000 n=7) ¹
List/sqlite-tiny/all-4                    16.00 ±   25%   18.00 ± 17%       ~ (p=0.070 n=7)
List/sqlite-tiny/pagination-4             25.00 ±    0%   25.00 ±  4%       ~ (p=1.000 n=7)
List/sqlite-fits-in-page/all-4            23.00 ±   22%   23.00 ± 26%       ~ (p=0.641 n=7)
List/sqlite-fits-in-page/pagination-4     38.00 ±   18%   35.00 ± 20%       ~ (p=0.337 n=7)
List/sqlite-overflows-page/all-4          9.000 ±    0%   9.000 ±  0%       ~ (p=1.000 n=7) ¹
List/sqlite-overflows-page/pagination-4   16.00 ±   50%   19.00 ± 53%       ~ (p=0.735 n=7)
List/dqlite-tiny/all-4                    14.00 ±    7%   15.00 ±  7%       ~ (p=0.213 n=7)
List/dqlite-tiny/pagination-4             14.00 ±    7%   14.00 ±  0%       ~ (p=1.000 n=7)
List/dqlite-fits-in-page/all-4            19.00 ±    5%   19.00 ±  5%       ~ (p=0.674 n=7)
List/dqlite-fits-in-page/pagination-4     19.00 ±   11%   19.00 ± 11%       ~ (p=0.927 n=7)
List/dqlite-overflows-page/all-4          33.00 ±    3%   34.00 ±  0%  +3.03% (p=0.005 n=7)
List/dqlite-overflows-page/pagination-4   33.00 ±    9%   33.00 ±  6%       ~ (p=0.845 n=7)
Update/sqlite/1-workers-4                 412.0 ±    0%   412.0 ±  0%       ~ (p=1.000 n=7) ¹
Update/sqlite/4-workers-4                 412.0 ±    0%   412.0 ±  0%       ~ (p=1.000 n=7)
Update/sqlite/16-workers-4                413.0 ±    0%   414.0 ±  0%       ~ (p=0.054 n=7)
Update/sqlite/64-workers-4                419.0 ± 6035%   416.0 ±  6%       ~ (p=0.354 n=7)
Update/sqlite/128-workers-4               429.0 ±   45%   443.0 ± 77%       ~ (p=0.512 n=7)
Update/dqlite/1-workers-4                 381.0 ±    0%   381.0 ±  0%       ~ (p=1.000 n=7) ¹
Update/dqlite/4-workers-4                 382.0 ±    0%   382.0 ±  0%       ~ (p=1.000 n=7)
Update/dqlite/16-workers-4                381.0 ±    1%   383.0 ±  1%       ~ (p=0.665 n=7)
Update/dqlite/64-workers-4                385.0 ±    3%   393.0 ±  3%       ~ (p=0.223 n=7)
Update/dqlite/128-workers-4               412.0 ±    6%   400.0 ±  5%       ~ (p=0.195 n=7)
geomean                                   170.9           172.7        +1.03%
¹ all samples are equal

                                        │        Before         │                    After                    │
                                        │ network-bytes-read/op │ network-bytes-read/op  vs base              │
Compaction/dqlite-4                               1.954Ki ± 18%           2.127Ki ± 14%       ~ (p=0.128 n=7)
Create/dqlite/1-workers-4                           240.0 ±  0%             241.0 ±  1%       ~ (p=0.051 n=7)
Create/dqlite/4-workers-4                           241.4 ±  0%             241.8 ±  0%       ~ (p=0.471 n=7)
Create/dqlite/16-workers-4                          241.3 ±  0%             241.3 ±  0%       ~ (p=0.358 n=7)
Create/dqlite/64-workers-4                          241.1 ±  0%             241.9 ±  0%  +0.33% (p=0.008 n=7)
Create/dqlite/128-workers-4                         241.7 ±  0%             241.4 ±  0%       ~ (p=0.737 n=7)
Delete/dqlite/1-workers-4                           717.0 ±  0%             717.5 ±  0%       ~ (p=0.133 n=7)
Delete/dqlite/4-workers-4                           718.2 ±  0%             718.9 ±  0%       ~ (p=0.138 n=7)
Delete/dqlite/16-workers-4                          717.9 ±  0%             718.3 ±  0%       ~ (p=0.139 n=7)
Delete/dqlite/64-workers-4                          718.0 ±  0%             718.9 ±  0%  +0.13% (p=0.023 n=7)
Delete/dqlite/128-workers-4                         718.6 ±  0%             718.3 ±  0%       ~ (p=0.874 n=7)
Get/dqlite-4                                      1.134Ki ±  0%           1.134Ki ±  0%       ~ (p=0.122 n=7)
List/dqlite-tiny/all-4                              210.2 ± 10%             213.2 ±  2%       ~ (p=0.128 n=7)
List/dqlite-tiny/pagination-4                       197.8 ±  2%             198.7 ±  2%       ~ (p=0.195 n=7)
List/dqlite-fits-in-page/all-4                    1.342Ki ±  2%           1.347Ki ± 10%       ~ (p=0.710 n=7)
List/dqlite-fits-in-page/pagination-4             1.340Ki ±  9%           1.325Ki ±  8%       ~ (p=0.456 n=7)
List/dqlite-overflows-page/all-4                  6.933Ki ±  2%           7.102Ki ±  1%  +2.44% (p=0.001 n=7)
List/dqlite-overflows-page/pagination-4           6.786Ki ± 10%           6.841Ki ±  8%       ~ (p=0.736 n=7)
Update/dqlite/1-workers-4                           262.7 ±  0%             262.7 ±  0%       ~ (p=0.690 n=7)
Update/dqlite/4-workers-4                           263.3 ±  0%             263.2 ±  0%       ~ (p=0.523 n=7)
Update/dqlite/16-workers-4                          263.0 ±  0%             264.0 ±  1%       ~ (p=0.399 n=7)
Update/dqlite/64-workers-4                          265.0 ±  4%             271.2 ±  3%       ~ (p=0.209 n=7)
Update/dqlite/128-workers-4                         283.8 ±  6%             276.0 ±  5%       ~ (p=0.209 n=7)
geomean                                             564.1                   567.5        +0.60%

                                        │          Before          │                     After                      │
                                        │ network-bytes-written/op │ network-bytes-written/op  vs base              │
Compaction/dqlite-4                                    4.559 ±  4%                4.631 ±  3%       ~ (p=0.128 n=7)
Create/dqlite/1-workers-4                              113.6 ±  1%                115.1 ±  2%  +1.32% (p=0.038 n=7)
Create/dqlite/4-workers-4                              115.8 ±  1%                116.7 ±  1%       ~ (p=0.603 n=7)
Create/dqlite/16-workers-4                             115.5 ±  1%                115.9 ±  1%       ~ (p=0.082 n=7)
Create/dqlite/64-workers-4                             115.3 ±  1%                116.6 ±  1%  +1.13% (p=0.010 n=7)
Create/dqlite/128-workers-4                            116.5 ±  1%                115.9 ±  0%       ~ (p=0.399 n=7)
Delete/dqlite/1-workers-4                              81.96 ±  1%                82.15 ±  1%       ~ (p=0.301 n=7)
Delete/dqlite/4-workers-4                              82.62 ±  1%                82.82 ±  2%       ~ (p=0.245 n=7)
Delete/dqlite/16-workers-4                             82.53 ±  1%                82.61 ±  0%       ~ (p=0.119 n=7)
Delete/dqlite/64-workers-4                             82.44 ±  0%                82.88 ±  0%  +0.53% (p=0.017 n=7)
Delete/dqlite/128-workers-4                            82.72 ±  1%                82.70 ±  1%       ~ (p=1.000 n=7)
Get/dqlite-4                                           80.51 ±  0%                80.55 ±  0%       ~ (p=0.895 n=7)
List/dqlite-tiny/all-4                               0.04606 ± 18%              0.04718 ±  3%       ~ (p=0.097 n=7)
List/dqlite-tiny/pagination-4                        0.04832 ±  8%              0.05050 ±  7%       ~ (p=0.777 n=7)
List/dqlite-fits-in-page/all-4                       0.06077 ±  3%              0.06139 ± 16%       ~ (p=0.738 n=7)
List/dqlite-fits-in-page/pagination-4                0.09154 ± 17%              0.08997 ± 14%       ~ (p=0.902 n=7)
List/dqlite-overflows-page/all-4                     0.07743 ±  4%              0.07984 ±  1%  +3.11% (p=0.001 n=7)
List/dqlite-overflows-page/pagination-4               0.1255 ± 22%               0.1239 ± 18%       ~ (p=0.645 n=7)
Update/dqlite/1-workers-4                              136.6 ±  0%                136.6 ±  0%       ~ (p=0.683 n=7)
Update/dqlite/4-workers-4                              136.9 ±  0%                136.9 ±  1%       ~ (p=0.816 n=7)
Update/dqlite/16-workers-4                             137.0 ±  0%                137.3 ±  1%       ~ (p=0.805 n=7)
Update/dqlite/64-workers-4                             138.2 ±  4%                141.4 ±  3%       ~ (p=0.220 n=7)
Update/dqlite/128-workers-4                            148.2 ±  6%                144.1 ±  6%       ~ (p=0.259 n=7)
geomean                                                13.85                      13.93        +0.58%
Current status
goos: linux
goarch: amd64
pkg: github.com/canonical/k8s-dqlite/test
cpu: AMD EPYC 7763 64-Core Processor                
                                        │     After      │
                                        │     sec/op     │
Compaction/sqlite-4                       20.13µ ±    9%
Compaction/dqlite-4                       41.80µ ±    3%
Create/sqlite/1-workers-4                 514.0µ ±    5%
Create/sqlite/4-workers-4                 486.7µ ±    7%
Create/sqlite/16-workers-4                475.9µ ±   15%
Create/sqlite/64-workers-4                603.0µ ± 1820%
Create/sqlite/128-workers-4               691.3µ ±   69%
Create/dqlite/1-workers-4                 1.136m ±   13%
Create/dqlite/4-workers-4                 969.7µ ±    4%
Create/dqlite/16-workers-4                995.8µ ±    5%
Create/dqlite/64-workers-4                988.0µ ±    5%
Create/dqlite/128-workers-4               999.6µ ±    2%
Delete/sqlite/1-workers-4                 504.4µ ±    1%
Delete/sqlite/4-workers-4                 467.3µ ±    7%
Delete/sqlite/16-workers-4                428.2µ ±    8%
Delete/sqlite/64-workers-4                469.0µ ±  212%
Delete/sqlite/128-workers-4               632.4µ ±   76%
Delete/dqlite/1-workers-4                 1.102m ±    7%
Delete/dqlite/4-workers-4                 1.005m ±   16%
Delete/dqlite/16-workers-4                1.008m ±    4%
Delete/dqlite/64-workers-4                973.1µ ±    3%
Delete/dqlite/128-workers-4               984.5µ ±    8%
Get/sqlite-4                              232.1µ ±    1%
Get/dqlite-4                              353.0µ ±    1%
List/sqlite-tiny/all-4                    4.124µ ±    5%
List/sqlite-tiny/pagination-4             8.277µ ±    3%
List/sqlite-fits-in-page/all-4            7.502µ ±    4%
List/sqlite-fits-in-page/pagination-4     21.89µ ±    4%
List/sqlite-overflows-page/all-4          17.07µ ±    4%
List/sqlite-overflows-page/pagination-4   42.88µ ±    9%
List/dqlite-tiny/all-4                    2.950µ ±    2%
List/dqlite-tiny/pagination-4             6.087µ ±    2%
List/dqlite-fits-in-page/all-4            6.622µ ±    7%
List/dqlite-fits-in-page/pagination-4     17.19µ ±    3%
List/dqlite-overflows-page/all-4          21.39µ ±    4%
List/dqlite-overflows-page/pagination-4   44.05µ ±    4%
Update/sqlite/1-workers-4                 523.1µ ±    5%
Update/sqlite/4-workers-4                 522.6µ ±   12%
Update/sqlite/16-workers-4                530.7µ ±   12%
Update/sqlite/64-workers-4                667.0µ ±  140%
Update/sqlite/128-workers-4               903.6µ ±  766%
Update/dqlite/1-workers-4                 1.161m ±    8%
Update/dqlite/4-workers-4                 1.082m ±   15%
Update/dqlite/16-workers-4                1.048m ±   13%
Update/dqlite/64-workers-4                1.066m ±    8%
Update/dqlite/128-workers-4               1.095m ±    8%
geomean                                   212.9µ

                                        │        After         │
                                        │ page-cache-misses/op │
Compaction/sqlite-4                               0.000 ± 0%
Compaction/dqlite-4                               0.000 ± 0%
Create/sqlite/1-workers-4                         0.000 ± 0%
Create/sqlite/4-workers-4                         0.000 ± 0%
Create/sqlite/16-workers-4                        0.000 ± 0%
Create/sqlite/64-workers-4                        0.000 ± 0%
Create/sqlite/128-workers-4                       0.000 ± 0%
Create/dqlite/1-workers-4                         0.000 ± 0%
Create/dqlite/4-workers-4                         0.000 ± 0%
Create/dqlite/16-workers-4                        0.000 ± 0%
Create/dqlite/64-workers-4                        0.000 ± 0%
Create/dqlite/128-workers-4                       0.000 ± 0%
Delete/sqlite/1-workers-4                         0.000 ± 0%
Delete/sqlite/4-workers-4                         0.000 ± 0%
Delete/sqlite/16-workers-4                        0.000 ± 0%
Delete/sqlite/64-workers-4                        0.000 ± 0%
Delete/sqlite/128-workers-4                       0.000 ± 0%
Delete/dqlite/1-workers-4                         0.000 ± 0%
Delete/dqlite/4-workers-4                         0.000 ± 0%
Delete/dqlite/16-workers-4                        0.000 ± 0%
Delete/dqlite/64-workers-4                        0.000 ± 0%
Delete/dqlite/128-workers-4                       0.000 ± 0%
Get/sqlite-4                                      0.000 ± 0%
Get/dqlite-4                                      0.000 ± 0%
List/sqlite-tiny/all-4                            0.000 ± 0%
List/sqlite-tiny/pagination-4                     0.000 ± 0%
List/sqlite-fits-in-page/all-4                    0.000 ± 0%
List/sqlite-fits-in-page/pagination-4             0.000 ± 0%
List/sqlite-overflows-page/all-4                  0.000 ± 0%
List/sqlite-overflows-page/pagination-4           0.000 ± 0%
List/dqlite-tiny/all-4                            0.000 ± 0%
List/dqlite-tiny/pagination-4                     0.000 ± 0%
List/dqlite-fits-in-page/all-4                    0.000 ± 0%
List/dqlite-fits-in-page/pagination-4             0.000 ± 0%
List/dqlite-overflows-page/all-4                  0.000 ± 0%
List/dqlite-overflows-page/pagination-4           0.000 ± 0%
Update/sqlite/1-workers-4                         0.000 ± 0%
Update/sqlite/4-workers-4                         0.000 ± 0%
Update/sqlite/16-workers-4                        0.000 ± 0%
Update/sqlite/64-workers-4                        0.000 ± 0%
Update/sqlite/128-workers-4                       0.000 ± 0%
Update/dqlite/1-workers-4                         0.000 ± 0%
Update/dqlite/4-workers-4                         0.000 ± 0%
Update/dqlite/16-workers-4                        0.000 ± 0%
Update/dqlite/64-workers-4                        0.000 ± 0%
Update/dqlite/128-workers-4                       0.000 ± 0%
geomean                                                      ¹
¹ summaries must be >0 to compute geomean

                                        │        After         │
                                        │ page-cache-spills/op │
Compaction/sqlite-4                               0.000 ± 0%
Compaction/dqlite-4                               0.000 ± 0%
Create/sqlite/1-workers-4                         0.000 ± 0%
Create/sqlite/4-workers-4                         0.000 ± 0%
Create/sqlite/16-workers-4                        0.000 ± 0%
Create/sqlite/64-workers-4                        0.000 ± 0%
Create/sqlite/128-workers-4                       0.000 ± 0%
Create/dqlite/1-workers-4                         0.000 ± 0%
Create/dqlite/4-workers-4                         0.000 ± 0%
Create/dqlite/16-workers-4                        0.000 ± 0%
Create/dqlite/64-workers-4                        0.000 ± 0%
Create/dqlite/128-workers-4                       0.000 ± 0%
Delete/sqlite/1-workers-4                         0.000 ± 0%
Delete/sqlite/4-workers-4                         0.000 ± 0%
Delete/sqlite/16-workers-4                        0.000 ± 0%
Delete/sqlite/64-workers-4                        0.000 ± 0%
Delete/sqlite/128-workers-4                       0.000 ± 0%
Delete/dqlite/1-workers-4                         0.000 ± 0%
Delete/dqlite/4-workers-4                         0.000 ± 0%
Delete/dqlite/16-workers-4                        0.000 ± 0%
Delete/dqlite/64-workers-4                        0.000 ± 0%
Delete/dqlite/128-workers-4                       0.000 ± 0%
Get/sqlite-4                                      0.000 ± 0%
Get/dqlite-4                                      0.000 ± 0%
List/sqlite-tiny/all-4                            0.000 ± 0%
List/sqlite-tiny/pagination-4                     0.000 ± 0%
List/sqlite-fits-in-page/all-4                    0.000 ± 0%
List/sqlite-fits-in-page/pagination-4             0.000 ± 0%
List/sqlite-overflows-page/all-4                  0.000 ± 0%
List/sqlite-overflows-page/pagination-4           0.000 ± 0%
List/dqlite-tiny/all-4                            0.000 ± 0%
List/dqlite-tiny/pagination-4                     0.000 ± 0%
List/dqlite-fits-in-page/all-4                    0.000 ± 0%
List/dqlite-fits-in-page/pagination-4             0.000 ± 0%
List/dqlite-overflows-page/all-4                  0.000 ± 0%
List/dqlite-overflows-page/pagination-4           0.000 ± 0%
Update/sqlite/1-workers-4                         0.000 ± 0%
Update/sqlite/4-workers-4                         0.000 ± 0%
Update/sqlite/16-workers-4                        0.000 ± 0%
Update/sqlite/64-workers-4                        0.000 ± 0%
Update/sqlite/128-workers-4                       0.000 ± 0%
Update/dqlite/1-workers-4                         0.000 ± 0%
Update/dqlite/4-workers-4                         0.000 ± 0%
Update/dqlite/16-workers-4                        0.000 ± 0%
Update/dqlite/64-workers-4                        0.000 ± 0%
Update/dqlite/128-workers-4                       0.000 ± 0%
geomean                                                      ¹
¹ summaries must be >0 to compute geomean

                                        │     After     │
                                        │ page-reads/op │
Compaction/sqlite-4                         12.28 ±  2%
Compaction/dqlite-4                         12.17 ±  1%
Create/sqlite/1-workers-4                   13.86 ±  0%
Create/sqlite/4-workers-4                   12.84 ±  1%
Create/sqlite/16-workers-4                  10.96 ±  6%
Create/sqlite/64-workers-4                  9.237 ± 45%
Create/sqlite/128-workers-4                 8.449 ±  5%
Create/dqlite/1-workers-4                   12.99 ±  3%
Create/dqlite/4-workers-4                   10.79 ±  1%
Create/dqlite/16-workers-4                  10.79 ±  2%
Create/dqlite/64-workers-4                  10.86 ±  1%
Create/dqlite/128-workers-4                 10.88 ±  1%
Delete/sqlite/1-workers-4                   16.24 ±  0%
Delete/sqlite/4-workers-4                   14.66 ±  2%
Delete/sqlite/16-workers-4                  12.22 ±  4%
Delete/sqlite/64-workers-4                  10.44 ±  7%
Delete/sqlite/128-workers-4                 9.420 ±  3%
Delete/dqlite/1-workers-4                   15.56 ±  1%
Delete/dqlite/4-workers-4                   13.20 ±  1%
Delete/dqlite/16-workers-4                  13.15 ±  1%
Delete/dqlite/64-workers-4                  13.06 ±  1%
Delete/dqlite/128-workers-4                 13.03 ±  1%
Get/sqlite-4                                14.95 ±  0%
Get/dqlite-4                                11.94 ±  0%
List/sqlite-tiny/all-4                     192.4m ±  1%
List/sqlite-tiny/pagination-4               1.131 ±  0%
List/sqlite-fits-in-page/all-4             164.5m ±  1%
List/sqlite-fits-in-page/pagination-4      962.9m ±  0%
List/sqlite-overflows-page/all-4           177.1m ±  0%
List/sqlite-overflows-page/pagination-4     1.602 ± 34%
List/dqlite-tiny/all-4                     191.5m ±  0%
List/dqlite-tiny/pagination-4               1.126 ±  3%
List/dqlite-fits-in-page/all-4             164.0m ±  1%
List/dqlite-fits-in-page/pagination-4      955.2m ±  3%
List/dqlite-overflows-page/all-4           184.2m ±  0%
List/dqlite-overflows-page/pagination-4     1.071 ±  3%
Update/sqlite/1-workers-4                   15.80 ±  0%
Update/sqlite/4-workers-4                   14.93 ±  2%
Update/sqlite/16-workers-4                  13.28 ±  5%
Update/sqlite/64-workers-4                  11.51 ±  5%
Update/sqlite/128-workers-4                 11.06 ±  8%
Update/dqlite/1-workers-4                   15.26 ±  1%
Update/dqlite/4-workers-4                   12.52 ±  1%
Update/dqlite/16-workers-4                  12.62 ±  1%
Update/dqlite/64-workers-4                  13.01 ±  3%
Update/dqlite/128-workers-4                 13.20 ±  7%
geomean                                     5.220

                                        │     After      │
                                        │ page-writes/op │
Compaction/sqlite-4                       190.7m ±  1%
Compaction/dqlite-4                       187.5m ±  0%
Create/sqlite/1-workers-4                  4.357 ±  0%
Create/sqlite/4-workers-4                  4.323 ±  1%
Create/sqlite/16-workers-4                 4.284 ±  1%
Create/sqlite/64-workers-4                 4.232 ±  5%
Create/sqlite/128-workers-4                4.219 ±  3%
Create/dqlite/1-workers-4                  4.240 ±  2%
Create/dqlite/4-workers-4                  4.294 ±  0%
Create/dqlite/16-workers-4                 4.281 ±  1%
Create/dqlite/64-workers-4                 4.287 ±  1%
Create/dqlite/128-workers-4                4.280 ±  0%
Delete/sqlite/1-workers-4                  4.398 ±  0%
Delete/sqlite/4-workers-4                  4.389 ±  1%
Delete/sqlite/16-workers-4                 4.385 ±  1%
Delete/sqlite/64-workers-4                 4.362 ±  1%
Delete/sqlite/128-workers-4                4.353 ±  1%
Delete/dqlite/1-workers-4                  4.367 ±  1%
Delete/dqlite/4-workers-4                  4.358 ±  1%
Delete/dqlite/16-workers-4                 4.367 ±  1%
Delete/dqlite/64-workers-4                 4.358 ±  1%
Delete/dqlite/128-workers-4                4.349 ±  1%
Get/sqlite-4                               0.000 ±  0%
Get/dqlite-4                               0.000 ±  0%
List/sqlite-tiny/all-4                     0.000 ±  0%
List/sqlite-tiny/pagination-4              0.000 ±  0%
List/sqlite-fits-in-page/all-4             0.000 ±  0%
List/sqlite-fits-in-page/pagination-4      0.000 ±  0%
List/sqlite-overflows-page/all-4           0.000 ±  0%
List/sqlite-overflows-page/pagination-4    0.000 ±  0%
List/dqlite-tiny/all-4                     0.000 ±  0%
List/dqlite-tiny/pagination-4              0.000 ±  0%
List/dqlite-fits-in-page/all-4             0.000 ±  0%
List/dqlite-fits-in-page/pagination-4      0.000 ±  0%
List/dqlite-overflows-page/all-4           0.000 ±  0%
List/dqlite-overflows-page/pagination-4    0.000 ±  0%
Update/sqlite/1-workers-4                  4.242 ±  0%
Update/sqlite/4-workers-4                  4.312 ±  1%
Update/sqlite/16-workers-4                 4.319 ±  0%
Update/sqlite/64-workers-4                 4.341 ±  2%
Update/sqlite/128-workers-4                4.588 ± 66%
Update/dqlite/1-workers-4                  4.195 ±  1%
Update/dqlite/4-workers-4                  4.206 ±  0%
Update/dqlite/16-workers-4                 4.225 ±  1%
Update/dqlite/64-workers-4                 4.382 ±  3%
Update/dqlite/128-workers-4                4.472 ±  6%
geomean                                                ¹
¹ summaries must be >0 to compute geomean

                                        │     After      │
                                        │ sec-reading/op │
Compaction/sqlite-4                        28.70µ ±  14%
Compaction/dqlite-4                        34.00µ ±  19%
Create/sqlite/1-workers-4                  21.60µ ±  36%
Create/sqlite/4-workers-4                  22.30µ ±  31%
Create/sqlite/16-workers-4                 22.50µ ±   7%
Create/sqlite/64-workers-4                 21.00µ ±  52%
Create/sqlite/128-workers-4                23.20µ ±  20%
Create/dqlite/1-workers-4                  10.30µ ±  21%
Create/dqlite/4-workers-4                  9.300µ ±  55%
Create/dqlite/16-workers-4                 14.20µ ±  20%
Create/dqlite/64-workers-4                 12.30µ ±  50%
Create/dqlite/128-workers-4                12.40µ ±  62%
Delete/sqlite/1-workers-4                  31.30µ ±  15%
Delete/sqlite/4-workers-4                  31.30µ ±  18%
Delete/sqlite/16-workers-4                 33.80µ ±  16%
Delete/sqlite/64-workers-4                 39.50µ ±  10%
Delete/sqlite/128-workers-4                43.20µ ±  20%
Delete/dqlite/1-workers-4                  14.70µ ±  82%
Delete/dqlite/4-workers-4                  15.60µ ±  69%
Delete/dqlite/16-workers-4                 13.10µ ±  22%
Delete/dqlite/64-workers-4                 14.10µ ±  50%
Delete/dqlite/128-workers-4                16.70µ ±  28%
Get/sqlite-4                               64.50µ ±  10%
Get/dqlite-4                               31.70µ ±  17%
List/sqlite-tiny/all-4                     7.700µ ±  21%
List/sqlite-tiny/pagination-4              14.60µ ±   3%
List/sqlite-fits-in-page/all-4             13.70µ ±  20%
List/sqlite-fits-in-page/pagination-4      35.40µ ±  14%
List/sqlite-overflows-page/all-4           13.20µ ±   3%
List/sqlite-overflows-page/pagination-4    48.50µ ±  29%
List/dqlite-tiny/all-4                     4.100µ ±   2%
List/dqlite-tiny/pagination-4              8.800µ ±  10%
List/dqlite-fits-in-page/all-4             9.200µ ±  14%
List/dqlite-fits-in-page/pagination-4      26.30µ ±   8%
List/dqlite-overflows-page/all-4           34.50µ ±   7%
List/dqlite-overflows-page/pagination-4    70.60µ ±  11%
Update/sqlite/1-workers-4                  16.00µ ±  18%
Update/sqlite/4-workers-4                  18.90µ ±  27%
Update/sqlite/16-workers-4                 20.10µ ±  32%
Update/sqlite/64-workers-4                 22.50µ ±  35%
Update/sqlite/128-workers-4                25.40µ ± 276%
Update/dqlite/1-workers-4                  10.70µ ±  24%
Update/dqlite/4-workers-4                  12.60µ ±  48%
Update/dqlite/16-workers-4                 10.80µ ±  26%
Update/dqlite/64-workers-4                 9.400µ ± 102%
Update/dqlite/128-workers-4                7.400µ ±  86%
geomean                                    18.56µ

                                        │      After      │
                                        │ sec-writing/op  │
Compaction/sqlite-4                       8.900µ ±   9%
Compaction/dqlite-4                       6.500µ ±  11%
Create/sqlite/1-workers-4                 288.5µ ±   8%
Create/sqlite/4-workers-4                 1.432m ±  10%
Create/sqlite/16-workers-4                5.727m ±  22%
Create/sqlite/64-workers-4                19.53m ± 370%
Create/sqlite/128-workers-4               37.22m ±  33%
Create/dqlite/1-workers-4                 43.00µ ±  74%
Create/dqlite/4-workers-4                 47.60µ ±  15%
Create/dqlite/16-workers-4                67.80µ ±  33%
Create/dqlite/64-workers-4                62.20µ ±  38%
Create/dqlite/128-workers-4               58.20µ ±  25%
Delete/sqlite/1-workers-4                 285.0µ ±   8%
Delete/sqlite/4-workers-4                 1.431m ±   9%
Delete/sqlite/16-workers-4                5.149m ±   5%
Delete/sqlite/64-workers-4                19.51m ±  44%
Delete/sqlite/128-workers-4               35.51m ±  29%
Delete/dqlite/1-workers-4                 40.50µ ±  31%
Delete/dqlite/4-workers-4                 56.20µ ±  12%
Delete/dqlite/16-workers-4                43.00µ ±  37%
Delete/dqlite/64-workers-4                44.60µ ±  17%
Delete/dqlite/128-workers-4               44.00µ ±  38%
Get/sqlite-4                               0.000 ±   0%
Get/dqlite-4                               0.000 ±   0%
List/sqlite-tiny/all-4                     0.000 ±   0%
List/sqlite-tiny/pagination-4              0.000 ±   0%
List/sqlite-fits-in-page/all-4             0.000 ±   0%
List/sqlite-fits-in-page/pagination-4      0.000 ±   0%
List/sqlite-overflows-page/all-4           0.000 ±   0%
List/sqlite-overflows-page/pagination-4    0.000 ±   0%
List/dqlite-tiny/all-4                     0.000 ±   0%
List/dqlite-tiny/pagination-4              0.000 ±   0%
List/dqlite-fits-in-page/all-4             0.000 ±   0%
List/dqlite-fits-in-page/pagination-4      0.000 ±   0%
List/dqlite-overflows-page/all-4           0.000 ±   0%
List/dqlite-overflows-page/pagination-4    0.000 ±   0%
Update/sqlite/1-workers-4                 291.1µ ±   6%
Update/sqlite/4-workers-4                 1.564m ±  17%
Update/sqlite/16-workers-4                5.814m ±   7%
Update/sqlite/64-workers-4                19.94m ±  61%
Update/sqlite/128-workers-4               45.38m ± 316%
Update/dqlite/1-workers-4                 39.90µ ±  37%
Update/dqlite/4-workers-4                 39.10µ ±  34%
Update/dqlite/16-workers-4                43.50µ ±  24%
Update/dqlite/64-workers-4                38.00µ ±  21%
Update/dqlite/128-workers-4               41.50µ ±  35%
geomean                                                 ¹
¹ summaries must be >0 to compute geomean

                                        │     After     │
                                        │     B/op      │
Compaction/sqlite-4                       2.364Ki ± 16%
Compaction/dqlite-4                       5.873Ki ± 14%
Create/sqlite/1-workers-4                 20.50Ki ±  0%
Create/sqlite/4-workers-4                 20.49Ki ±  0%
Create/sqlite/16-workers-4                20.48Ki ±  0%
Create/sqlite/64-workers-4                20.59Ki ±  9%
Create/sqlite/128-workers-4               20.62Ki ±  1%
Create/dqlite/1-workers-4                 19.75Ki ±  0%
Create/dqlite/4-workers-4                 19.72Ki ±  0%
Create/dqlite/16-workers-4                19.74Ki ±  0%
Create/dqlite/64-workers-4                19.74Ki ±  0%
Create/dqlite/128-workers-4               19.76Ki ±  0%
Delete/sqlite/1-workers-4                 22.93Ki ±  0%
Delete/sqlite/4-workers-4                 22.92Ki ±  0%
Delete/sqlite/16-workers-4                22.90Ki ±  0%
Delete/sqlite/64-workers-4                22.92Ki ±  1%
Delete/sqlite/128-workers-4               22.99Ki ±  1%
Delete/dqlite/1-workers-4                 22.02Ki ±  0%
Delete/dqlite/4-workers-4                 21.99Ki ±  0%
Delete/dqlite/16-workers-4                22.00Ki ±  0%
Delete/dqlite/64-workers-4                22.01Ki ±  0%
Delete/dqlite/128-workers-4               22.03Ki ±  0%
Get/sqlite-4                              24.41Ki ±  0%
Get/dqlite-4                              23.25Ki ±  0%
List/sqlite-tiny/all-4                    1.266Ki ± 16%
List/sqlite-tiny/pagination-4             1.562Ki ±  4%
List/sqlite-fits-in-page/all-4            7.490Ki ± 13%
List/sqlite-fits-in-page/pagination-4     10.04Ki ± 15%
List/sqlite-overflows-page/all-4          20.54Ki ± 12%
List/sqlite-overflows-page/pagination-4   29.10Ki ± 38%
List/dqlite-tiny/all-4                    1.058Ki ±  6%
List/dqlite-tiny/pagination-4               965.0 ±  4%
List/dqlite-fits-in-page/all-4            6.049Ki ± 13%
List/dqlite-fits-in-page/pagination-4     5.328Ki ±  8%
List/dqlite-overflows-page/all-4          30.49Ki ±  8%
List/dqlite-overflows-page/pagination-4   29.18Ki ±  5%
Update/sqlite/1-workers-4                 22.29Ki ±  0%
Update/sqlite/4-workers-4                 22.32Ki ±  0%
Update/sqlite/16-workers-4                22.43Ki ±  0%
Update/sqlite/64-workers-4                22.53Ki ±  7%
Update/sqlite/128-workers-4               23.98Ki ± 79%
Update/dqlite/1-workers-4                 21.50Ki ±  0%
Update/dqlite/4-workers-4                 21.52Ki ±  0%
Update/dqlite/16-workers-4                21.62Ki ±  1%
Update/dqlite/64-workers-4                22.21Ki ±  3%
Update/dqlite/128-workers-4               22.61Ki ±  5%
geomean                                   14.44Ki

                                        │    After    │
                                        │  allocs/op  │
Compaction/sqlite-4                       51.00 ± 16%
Compaction/dqlite-4                       141.0 ± 14%
Create/sqlite/1-workers-4                 399.0 ±  0%
Create/sqlite/4-workers-4                 399.0 ±  0%
Create/sqlite/16-workers-4                399.0 ±  0%
Create/sqlite/64-workers-4                400.0 ±  1%
Create/sqlite/128-workers-4               401.0 ±  0%
Create/dqlite/1-workers-4                 369.0 ±  0%
Create/dqlite/4-workers-4                 369.0 ±  0%
Create/dqlite/16-workers-4                368.0 ±  0%
Create/dqlite/64-workers-4                368.0 ±  0%
Create/dqlite/128-workers-4               368.0 ±  0%
Delete/sqlite/1-workers-4                 431.0 ±  0%
Delete/sqlite/4-workers-4                 431.0 ±  0%
Delete/sqlite/16-workers-4                431.0 ±  0%
Delete/sqlite/64-workers-4                430.0 ±  0%
Delete/sqlite/128-workers-4               431.0 ±  1%
Delete/dqlite/1-workers-4                 399.0 ±  0%
Delete/dqlite/4-workers-4                 399.0 ±  0%
Delete/dqlite/16-workers-4                399.0 ±  0%
Delete/dqlite/64-workers-4                399.0 ±  0%
Delete/dqlite/128-workers-4               398.0 ±  0%
Get/sqlite-4                              445.0 ±  0%
Get/dqlite-4                              412.0 ±  0%
List/sqlite-tiny/all-4                    18.00 ± 17%
List/sqlite-tiny/pagination-4             25.00 ±  4%
List/sqlite-fits-in-page/all-4            23.00 ± 26%
List/sqlite-fits-in-page/pagination-4     35.00 ± 20%
List/sqlite-overflows-page/all-4          9.000 ±  0%
List/sqlite-overflows-page/pagination-4   19.00 ± 53%
List/dqlite-tiny/all-4                    15.00 ±  7%
List/dqlite-tiny/pagination-4             14.00 ±  0%
List/dqlite-fits-in-page/all-4            19.00 ±  5%
List/dqlite-fits-in-page/pagination-4     19.00 ± 11%
List/dqlite-overflows-page/all-4          34.00 ±  0%
List/dqlite-overflows-page/pagination-4   33.00 ±  6%
Update/sqlite/1-workers-4                 412.0 ±  0%
Update/sqlite/4-workers-4                 412.0 ±  0%
Update/sqlite/16-workers-4                414.0 ±  0%
Update/sqlite/64-workers-4                416.0 ±  6%
Update/sqlite/128-workers-4               443.0 ± 77%
Update/dqlite/1-workers-4                 381.0 ±  0%
Update/dqlite/4-workers-4                 382.0 ±  0%
Update/dqlite/16-workers-4                383.0 ±  1%
Update/dqlite/64-workers-4                393.0 ±  3%
Update/dqlite/128-workers-4               400.0 ±  5%
geomean                                   172.7

                                        │         After         │
                                        │ network-bytes-read/op │
Compaction/dqlite-4                               2.127Ki ± 14%
Create/dqlite/1-workers-4                           241.0 ±  1%
Create/dqlite/4-workers-4                           241.8 ±  0%
Create/dqlite/16-workers-4                          241.3 ±  0%
Create/dqlite/64-workers-4                          241.9 ±  0%
Create/dqlite/128-workers-4                         241.4 ±  0%
Delete/dqlite/1-workers-4                           717.5 ±  0%
Delete/dqlite/4-workers-4                           718.9 ±  0%
Delete/dqlite/16-workers-4                          718.3 ±  0%
Delete/dqlite/64-workers-4                          718.9 ±  0%
Delete/dqlite/128-workers-4                         718.3 ±  0%
Get/dqlite-4                                      1.134Ki ±  0%
List/dqlite-tiny/all-4                              213.2 ±  2%
List/dqlite-tiny/pagination-4                       198.7 ±  2%
List/dqlite-fits-in-page/all-4                    1.347Ki ± 10%
List/dqlite-fits-in-page/pagination-4             1.325Ki ±  8%
List/dqlite-overflows-page/all-4                  7.102Ki ±  1%
List/dqlite-overflows-page/pagination-4           6.841Ki ±  8%
Update/dqlite/1-workers-4                           262.7 ±  0%
Update/dqlite/4-workers-4                           263.2 ±  0%
Update/dqlite/16-workers-4                          264.0 ±  1%
Update/dqlite/64-workers-4                          271.2 ±  3%
Update/dqlite/128-workers-4                         276.0 ±  5%
geomean                                             567.5

                                        │          After           │
                                        │ network-bytes-written/op │
Compaction/dqlite-4                                    4.631 ±  3%
Create/dqlite/1-workers-4                              115.1 ±  2%
Create/dqlite/4-workers-4                              116.7 ±  1%
Create/dqlite/16-workers-4                             115.9 ±  1%
Create/dqlite/64-workers-4                             116.6 ±  1%
Create/dqlite/128-workers-4                            115.9 ±  0%
Delete/dqlite/1-workers-4                              82.15 ±  1%
Delete/dqlite/4-workers-4                              82.82 ±  2%
Delete/dqlite/16-workers-4                             82.61 ±  0%
Delete/dqlite/64-workers-4                             82.88 ±  0%
Delete/dqlite/128-workers-4                            82.70 ±  1%
Get/dqlite-4                                           80.55 ±  0%
List/dqlite-tiny/all-4                               0.04718 ±  3%
List/dqlite-tiny/pagination-4                        0.05050 ±  7%
List/dqlite-fits-in-page/all-4                       0.06139 ± 16%
List/dqlite-fits-in-page/pagination-4                0.08997 ± 14%
List/dqlite-overflows-page/all-4                     0.07984 ±  1%
List/dqlite-overflows-page/pagination-4               0.1239 ± 18%
Update/dqlite/1-workers-4                              136.6 ±  0%
Update/dqlite/4-workers-4                              136.9 ±  1%
Update/dqlite/16-workers-4                             137.3 ±  1%
Update/dqlite/64-workers-4                             141.4 ±  3%
Update/dqlite/128-workers-4                            144.1 ±  6%
geomean                                                13.93

@louiseschmidtgen louiseschmidtgen changed the title Use Dqlite LTS v1.17.1 Dqlite LTS v1.17.1, go-dqlite v2 Nov 12, 2024
@louiseschmidtgen louiseschmidtgen marked this pull request as ready for review November 14, 2024 14:13
@louiseschmidtgen louiseschmidtgen requested a review from a team as a code owner November 14, 2024 14:13
@louiseschmidtgen
Copy link
Contributor Author

louiseschmidtgen commented Nov 15, 2024

Review Performance

Single Node

head(green): Dqlite LTS v1.17.1
base-code(red): Dqlite v1.16.x

cpu_usage_plot
io_read_usage_plot
io_write_usage_plot
mem_usage_plot

Three Nodes

cpu_usage_plot
cpu_usage_plot

io_write_usage_plot
io_write_usage_plot

io_read_usage_plot
io_read_usage_plot

mem_usage_plot
mem_usage_plot

Interpretation

The single node test shows no significant discrepancy between the old and new Dqlite version for cpu, io reads & writes. The new dqlite version has a higher initial memory usage during the idle time, this is also true for the three node test.
The three node test shows a jump in io_writes where the spikes are significantly higher, this is likely due to underlying disk performance. We need a v2 of the load test that takes statistical error into consideration.

Copy link
Contributor

@HomayoonAlimohammadi HomayoonAlimohammadi left a comment

Choose a reason for hiding this comment

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

Thanks a lot @louiseschmidtgen! LGTM!

@louiseschmidtgen louiseschmidtgen merged commit d823f66 into master Nov 15, 2024
9 checks passed
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