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

Simplify keys read path #193

Open
wants to merge 9 commits into
base: master
Choose a base branch
from
Open

Simplify keys read path #193

wants to merge 9 commits into from

Conversation

marco6
Copy link
Collaborator

@marco6 marco6 commented Oct 28, 2024

This PR aims to simplify the read path by:

  • merging the query for {List, Count}Current with {List, Count}. The count query might have a slight increase in latency, but not important enough to care
  • solving a potential (and rare) concurrency bug for the List query: the revision was fetched after the list, so we might have returned the wrong version for the list
  • removing the logic to support mysql and postgres parameter naming
  • removing the customization hooks for other dialects

@marco6 marco6 requested a review from a team as a code owner October 28, 2024 13:30
Copy link

github-actions bot commented Oct 28, 2024

Benchmark Result

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                        20.73µ ±    6%   20.55µ ±    7%        ~ (p=0.620 n=7)
Compaction/dqlite-4                        43.81µ ±    7%   42.80µ ±    9%        ~ (p=0.318 n=7)
Create/sqlite/1-workers-4                  635.3µ ±   16%   536.3µ ±   13%  -15.59% (p=0.007 n=7)
Create/sqlite/4-workers-4                  631.9µ ±   27%   574.4µ ±   19%   -9.09% (p=0.007 n=7)
Create/sqlite/16-workers-4                 584.1µ ±   28%   579.6µ ±   24%        ~ (p=0.620 n=7)
Create/sqlite/64-workers-4                 708.6µ ± 1427%   657.0µ ±  182%        ~ (p=0.318 n=7)
Create/sqlite/128-workers-4               1163.8µ ±  988%   916.3µ ±  164%        ~ (p=1.000 n=7)
Create/dqlite/1-workers-4                  1.220m ±   13%   1.206m ±    4%        ~ (p=0.383 n=7)
Create/dqlite/4-workers-4                  1.121m ±    8%   1.102m ±    7%        ~ (p=0.165 n=7)
Create/dqlite/16-workers-4                 1.188m ±    9%   1.060m ±    6%  -10.80% (p=0.001 n=7)
Create/dqlite/64-workers-4                 1.235m ±   14%   1.014m ±    9%  -17.85% (p=0.001 n=7)
Create/dqlite/128-workers-4                1.193m ±   12%   1.027m ±    8%  -13.88% (p=0.004 n=7)
Delete/sqlite/1-workers-4                  565.2µ ±   14%   515.3µ ±    8%        ~ (p=0.165 n=7)
Delete/sqlite/4-workers-4                  539.0µ ±    7%   507.2µ ±    6%   -5.89% (p=0.017 n=7)
Delete/sqlite/16-workers-4                 506.3µ ±   18%   487.4µ ±   11%        ~ (p=0.535 n=7)
Delete/sqlite/64-workers-4                 581.0µ ± 2412%   494.4µ ±  394%        ~ (p=0.259 n=7)
Delete/sqlite/128-workers-4               1054.3µ ±  231%   658.1µ ± 2124%        ~ (p=0.209 n=7)
Delete/dqlite/1-workers-4                  1.178m ±   21%   1.147m ±   11%        ~ (p=0.383 n=7)
Delete/dqlite/4-workers-4                  1.114m ±   11%   1.065m ±   10%        ~ (p=0.383 n=7)
Delete/dqlite/16-workers-4                 1.132m ±   14%   1.084m ±   10%        ~ (p=0.535 n=7)
Delete/dqlite/64-workers-4                1259.5µ ±    9%   996.1µ ±   10%  -20.92% (p=0.001 n=7)
Delete/dqlite/128-workers-4                1.191m ±   12%   1.037m ±   10%  -12.87% (p=0.011 n=7)
Get/sqlite-4                               242.0µ ±    1%   235.3µ ±    1%   -2.74% (p=0.001 n=7)
Get/dqlite-4                               360.5µ ±    1%   338.9µ ±    1%   -6.01% (p=0.001 n=7)
List/sqlite-tiny/all-4                     3.830µ ±    7%   4.224µ ±   10%  +10.29% (p=0.017 n=7)
List/sqlite-tiny/pagination-4              8.149µ ±    4%   8.603µ ±    3%   +5.57% (p=0.001 n=7)
List/sqlite-fits-in-page/all-4             7.775µ ±    6%   7.854µ ±    4%        ~ (p=0.383 n=7)
List/sqlite-fits-in-page/pagination-4      22.66µ ±    3%   23.10µ ±    3%        ~ (p=0.128 n=7)
List/sqlite-overflows-page/all-4           16.96µ ±    4%   17.35µ ±    4%        ~ (p=0.073 n=7)
List/sqlite-overflows-page/pagination-4    40.51µ ±    6%   42.69µ ±    4%   +5.37% (p=0.011 n=7)
List/dqlite-tiny/all-4                     2.919µ ±   12%   3.043µ ±    5%   +4.25% (p=0.011 n=7)
List/dqlite-tiny/pagination-4              6.035µ ±    2%   6.202µ ±    2%   +2.77% (p=0.001 n=7)
List/dqlite-fits-in-page/all-4             6.591µ ±    4%   6.716µ ±    7%        ~ (p=0.128 n=7)
List/dqlite-fits-in-page/pagination-4      17.27µ ±    4%   17.48µ ±    5%        ~ (p=0.097 n=7)
List/dqlite-overflows-page/all-4           21.31µ ±    5%   21.46µ ±    4%        ~ (p=0.318 n=7)
List/dqlite-overflows-page/pagination-4    43.99µ ±    3%   44.96µ ±    4%        ~ (p=0.259 n=7)
Update/sqlite/1-workers-4                  608.7µ ±    9%   505.1µ ±   18%  -17.02% (p=0.017 n=7)
Update/sqlite/4-workers-4                  571.6µ ±   22%   549.4µ ±   10%        ~ (p=0.128 n=7)
Update/sqlite/16-workers-4                 547.7µ ±   16%   528.0µ ±   17%        ~ (p=0.805 n=7)
Update/sqlite/64-workers-4                 753.3µ ±  403%   534.2µ ± 1162%        ~ (p=0.902 n=7)
Update/sqlite/128-workers-4                3.204m ±  914%   1.047m ±  235%        ~ (p=0.053 n=7)
Update/dqlite/1-workers-4                  1.358m ±    9%   1.206m ±   12%  -11.20% (p=0.002 n=7)
Update/dqlite/4-workers-4                  1.235m ±    3%   1.023m ±    4%  -17.18% (p=0.001 n=7)
Update/dqlite/16-workers-4                 1.174m ±   21%   1.060m ±    5%        ~ (p=0.128 n=7)
Update/dqlite/64-workers-4                 1.172m ±   14%   1.007m ±   10%  -14.12% (p=0.017 n=7)
Update/dqlite/128-workers-4               1047.7µ ±    6%   952.5µ ±    4%   -9.08% (p=0.002 n=7)
geomean                                    243.6µ           220.8µ           -9.33%

                                        │        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.17 ±  2%     12.36 ±  1%  +1.56% (p=0.029 n=7)
Compaction/dqlite-4                         12.31 ±  2%     12.18 ±  1%       ~ (p=0.067 n=7)
Create/sqlite/1-workers-4                   13.70 ±  1%     13.85 ±  1%  +1.09% (p=0.016 n=7)
Create/sqlite/4-workers-4                   13.12 ±  3%     12.78 ±  7%       ~ (p=0.330 n=7)
Create/sqlite/16-workers-4                  11.25 ± 10%     11.84 ±  5%       ~ (p=0.073 n=7)
Create/sqlite/64-workers-4                  9.230 ± 38%     9.230 ±  7%       ~ (p=0.275 n=7)
Create/sqlite/128-workers-4                 8.057 ± 33%     8.336 ± 11%       ~ (p=0.535 n=7)
Create/dqlite/1-workers-4                   13.29 ±  2%     13.17 ±  2%  -0.90% (p=0.048 n=7)
Create/dqlite/4-workers-4                   10.91 ±  1%     10.83 ±  3%       ~ (p=0.275 n=7)
Create/dqlite/16-workers-4                  10.78 ±  1%     10.84 ±  1%       ~ (p=0.059 n=7)
Create/dqlite/64-workers-4                  10.84 ±  2%     10.78 ±  1%       ~ (p=0.778 n=7)
Create/dqlite/128-workers-4                 10.93 ±  3%     10.68 ±  2%       ~ (p=0.053 n=7)
Delete/sqlite/1-workers-4                   16.23 ±  0%     16.24 ±  0%       ~ (p=0.742 n=7)
Delete/sqlite/4-workers-4                   14.95 ±  3%     14.99 ±  2%       ~ (p=0.876 n=7)
Delete/sqlite/16-workers-4                  12.28 ±  7%     12.63 ±  5%       ~ (p=0.091 n=7)
Delete/sqlite/64-workers-4                  10.21 ± 13%     10.13 ±  6%       ~ (p=1.000 n=7)
Delete/sqlite/128-workers-4                 9.492 ± 13%     9.498 ± 30%       ~ (p=0.902 n=7)
Delete/dqlite/1-workers-4                   15.91 ±  1%     15.67 ±  2%  -1.51% (p=0.016 n=7)
Delete/dqlite/4-workers-4                   13.52 ±  1%     13.30 ±  1%  -1.63% (p=0.001 n=7)
Delete/dqlite/16-workers-4                  13.53 ±  3%     13.31 ±  1%  -1.63% (p=0.024 n=7)
Delete/dqlite/64-workers-4                  13.41 ±  2%     13.15 ±  1%  -1.94% (p=0.001 n=7)
Delete/dqlite/128-workers-4                 13.38 ±  1%     13.22 ±  1%  -1.20% (p=0.033 n=7)
Get/sqlite-4                                14.95 ±  0%     14.96 ±  0%  +0.07% (p=0.020 n=7)
Get/dqlite-4                                11.95 ±  0%     11.96 ±  0%       ~ (p=0.294 n=7)
List/sqlite-tiny/all-4                     190.5m ±  1%    192.7m ±  2%       ~ (p=0.104 n=7)
List/sqlite-tiny/pagination-4               1.131 ±  3%     1.133 ±  0%  +0.18% (p=0.001 n=7)
List/sqlite-fits-in-page/all-4             164.3m ±  1%    164.7m ±  2%       ~ (p=0.152 n=7)
List/sqlite-fits-in-page/pagination-4      965.6m ±  0%    965.7m ±  0%       ~ (p=0.792 n=7)
List/sqlite-overflows-page/all-4           177.1m ±  0%    177.2m ±  0%  +0.06% (p=0.029 n=7)
List/sqlite-overflows-page/pagination-4     1.186 ± 47%     1.145 ± 44%       ~ (p=0.984 n=7)
List/dqlite-tiny/all-4                     191.5m ±  1%    191.5m ±  0%       ~ (p=0.971 n=7)
List/dqlite-tiny/pagination-4               1.126 ±  0%     1.126 ±  0%       ~ (p=1.000 n=7)
List/dqlite-fits-in-page/all-4             164.1m ±  0%    164.1m ±  1%       ~ (p=0.478 n=7)
List/dqlite-fits-in-page/pagination-4      955.1m ±  3%    954.6m ±  0%       ~ (p=0.334 n=7)
List/dqlite-overflows-page/all-4           184.1m ±  0%    184.2m ±  0%       ~ (p=0.322 n=7)
List/dqlite-overflows-page/pagination-4     1.071 ±  3%     1.073 ±  3%       ~ (p=0.156 n=7)
Update/sqlite/1-workers-4                   15.67 ±  0%     15.81 ±  1%  +0.89% (p=0.005 n=7)
Update/sqlite/4-workers-4                   14.77 ±  4%     14.90 ±  3%       ~ (p=0.535 n=7)
Update/sqlite/16-workers-4                  13.46 ±  6%     13.31 ±  6%       ~ (p=0.902 n=7)
Update/sqlite/64-workers-4                  11.50 ±  9%     11.33 ± 44%       ~ (p=0.456 n=7)
Update/sqlite/128-workers-4                 9.561 ± 71%     9.928 ± 24%       ~ (p=0.874 n=7)
Update/dqlite/1-workers-4                   15.36 ±  1%     15.34 ±  1%       ~ (p=0.876 n=7)
Update/dqlite/4-workers-4                   12.71 ±  1%     12.64 ±  1%       ~ (p=0.136 n=7)
Update/dqlite/16-workers-4                  12.82 ±  2%     12.63 ±  1%  -1.48% (p=0.016 n=7)
Update/dqlite/64-workers-4                  12.86 ±  4%     12.55 ±  1%       ~ (p=0.053 n=7)
Update/dqlite/128-workers-4                 12.97 ±  5%     12.67 ±  0%  -2.31% (p=0.006 n=7)
geomean                                     5.187           5.178        -0.17%

                                        │     Before      │                  After                  │
                                        │ page-writes/op  │ page-writes/op  vs base                 │
Compaction/sqlite-4                       190.1m ±   1%        190.3m ± 0%        ~ (p=0.378 n=7)
Compaction/dqlite-4                       187.7m ±   1%        187.9m ± 1%        ~ (p=0.596 n=7)
Create/sqlite/1-workers-4                  4.330 ±   1%         4.358 ± 0%   +0.65% (p=0.020 n=7)
Create/sqlite/4-workers-4                  4.310 ±   1%         4.337 ± 2%        ~ (p=0.383 n=7)
Create/sqlite/16-workers-4                 4.263 ±   0%         4.273 ± 1%        ~ (p=0.197 n=7)
Create/sqlite/64-workers-4                 4.207 ±   5%         4.225 ± 4%        ~ (p=0.301 n=7)
Create/sqlite/128-workers-4                4.158 ±   4%         4.154 ± 3%        ~ (p=0.805 n=7)
Create/dqlite/1-workers-4                  4.185 ±   1%         4.165 ± 1%        ~ (p=0.400 n=7)
Create/dqlite/4-workers-4                  4.246 ±   1%         4.245 ± 1%        ~ (p=1.000 n=7)
Create/dqlite/16-workers-4                 4.134 ±   1%         4.267 ± 2%   +3.22% (p=0.001 n=7)
Create/dqlite/64-workers-4                 4.170 ±   2%         4.292 ± 2%   +2.93% (p=0.007 n=7)
Create/dqlite/128-workers-4                4.223 ±   2%         4.275 ± 3%        ~ (p=0.535 n=7)
Delete/sqlite/1-workers-4                  4.395 ±   0%         4.391 ± 0%        ~ (p=0.473 n=7)
Delete/sqlite/4-workers-4                  4.380 ±   1%         4.408 ± 1%        ~ (p=0.090 n=7)
Delete/sqlite/16-workers-4                 4.379 ±   1%         4.367 ± 1%        ~ (p=0.154 n=7)
Delete/sqlite/64-workers-4                 4.344 ±   5%         4.356 ± 1%        ~ (p=0.597 n=7)
Delete/sqlite/128-workers-4                4.322 ±   1%         4.310 ± 4%        ~ (p=0.805 n=7)
Delete/dqlite/1-workers-4                  4.365 ±   1%         4.360 ± 0%        ~ (p=0.646 n=7)
Delete/dqlite/4-workers-4                  4.373 ±   0%         4.370 ± 0%        ~ (p=0.927 n=7)
Delete/dqlite/16-workers-4                 4.364 ±   1%         4.367 ± 1%        ~ (p=0.535 n=7)
Delete/dqlite/64-workers-4                 4.371 ±   1%         4.363 ± 1%        ~ (p=0.805 n=7)
Delete/dqlite/128-workers-4                4.336 ±   0%         4.346 ± 1%        ~ (p=0.402 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.230 ±   0%         4.244 ± 0%   +0.33% (p=0.011 n=7)
Update/sqlite/4-workers-4                  4.284 ±   1%         4.299 ± 1%        ~ (p=0.710 n=7)
Update/sqlite/16-workers-4                 4.324 ±   1%         4.306 ± 1%        ~ (p=0.097 n=7)
Update/sqlite/64-workers-4                 4.339 ±   8%         4.291 ± 6%   -1.11% (p=0.017 n=7)
Update/sqlite/128-workers-4                5.150 ± 178%         4.211 ± 4%  -18.23% (p=0.001 n=7)
Update/dqlite/1-workers-4                  4.189 ±   0%         4.198 ± 1%        ~ (p=0.060 n=7)
Update/dqlite/4-workers-4                  4.190 ±   1%         4.203 ± 1%        ~ (p=0.090 n=7)
Update/dqlite/16-workers-4                 4.225 ±   1%         4.205 ± 1%        ~ (p=0.105 n=7)
Update/dqlite/64-workers-4                 4.324 ±   3%         4.225 ± 1%        ~ (p=0.128 n=7)
Update/dqlite/128-workers-4                4.421 ±   4%         4.244 ± 1%   -4.00% (p=0.002 n=7)
geomean                                                 ²                    -0.40%               ²
¹ all samples are equal
² summaries must be >0 to compute geomean

                                        │     Before     │                 After                 │
                                        │ sec-reading/op │ sec-reading/op  vs base               │
Compaction/sqlite-4                        29.30µ ±  10%     27.50µ ± 32%        ~ (p=0.273 n=7)
Compaction/dqlite-4                        30.90µ ±  34%     29.20µ ± 31%        ~ (p=1.000 n=7)
Create/sqlite/1-workers-4                  21.80µ ±  35%     18.70µ ± 51%        ~ (p=0.620 n=7)
Create/sqlite/4-workers-4                  20.50µ ±  23%     23.10µ ± 30%        ~ (p=0.091 n=7)
Create/sqlite/16-workers-4                 22.80µ ±  11%     22.10µ ± 28%        ~ (p=0.878 n=7)
Create/sqlite/64-workers-4                 24.10µ ±  49%     23.30µ ± 24%        ~ (p=0.476 n=7)
Create/sqlite/128-workers-4                28.00µ ±  15%     21.70µ ± 27%  -22.50% (p=0.007 n=7)
Create/dqlite/1-workers-4                  11.00µ ±  52%     10.40µ ± 53%        ~ (p=0.973 n=7)
Create/dqlite/4-workers-4                  10.00µ ±  39%     10.40µ ± 36%        ~ (p=0.929 n=7)
Create/dqlite/16-workers-4                 11.10µ ±  72%     12.60µ ± 41%        ~ (p=0.594 n=7)
Create/dqlite/64-workers-4                 12.20µ ±  53%     11.90µ ± 19%        ~ (p=0.805 n=7)
Create/dqlite/128-workers-4                11.80µ ±  31%     10.40µ ± 83%        ~ (p=0.535 n=7)
Delete/sqlite/1-workers-4                  31.20µ ±  21%     30.80µ ± 20%        ~ (p=0.197 n=7)
Delete/sqlite/4-workers-4                  31.00µ ±  14%     32.00µ ± 10%        ~ (p=0.471 n=7)
Delete/sqlite/16-workers-4                 33.10µ ±  15%     31.10µ ± 16%        ~ (p=0.274 n=7)
Delete/sqlite/64-workers-4                 34.60µ ±  26%     36.80µ ± 31%        ~ (p=0.805 n=7)
Delete/sqlite/128-workers-4                34.50µ ±  35%     34.30µ ± 42%        ~ (p=0.559 n=7)
Delete/dqlite/1-workers-4                  15.60µ ±  27%     14.70µ ± 53%        ~ (p=0.177 n=7)
Delete/dqlite/4-workers-4                  14.90µ ±  54%     14.50µ ± 61%        ~ (p=0.805 n=7)
Delete/dqlite/16-workers-4                 16.90µ ±  37%     17.40µ ± 40%        ~ (p=1.000 n=7)
Delete/dqlite/64-workers-4                 14.20µ ±  39%     17.10µ ± 32%        ~ (p=0.456 n=7)
Delete/dqlite/128-workers-4                15.40µ ±  25%     14.00µ ± 41%        ~ (p=0.638 n=7)
Get/sqlite-4                               66.40µ ±   8%     61.90µ ±  5%   -6.78% (p=0.007 n=7)
Get/dqlite-4                               35.80µ ±  14%     32.10µ ± 17%        ~ (p=0.318 n=7)
List/sqlite-tiny/all-4                     6.000µ ±  28%     7.900µ ± 37%  +31.67% (p=0.042 n=7)
List/sqlite-tiny/pagination-4              14.30µ ±   4%     16.10µ ±  6%  +12.59% (p=0.001 n=7)
List/sqlite-fits-in-page/all-4             13.80µ ±  20%     14.40µ ± 21%        ~ (p=0.075 n=7)
List/sqlite-fits-in-page/pagination-4      38.70µ ±   4%     39.70µ ±  8%        ~ (p=0.327 n=7)
List/sqlite-overflows-page/all-4           13.20µ ±   4%     13.50µ ±  5%        ~ (p=0.440 n=7)
List/sqlite-overflows-page/pagination-4    36.80µ ±  35%     37.70µ ± 34%        ~ (p=0.710 n=7)
List/dqlite-tiny/all-4                     4.100µ ±  27%     5.100µ ± 29%  +24.39% (p=0.048 n=7)
List/dqlite-tiny/pagination-4              9.500µ ±  17%     8.600µ ±  7%        ~ (p=0.512 n=7)
List/dqlite-fits-in-page/all-4             9.300µ ±  16%     9.400µ ± 16%        ~ (p=0.467 n=7)
List/dqlite-fits-in-page/pagination-4      26.10µ ±  17%     25.30µ ± 24%   -3.07% (p=0.019 n=7)
List/dqlite-overflows-page/all-4           34.60µ ±  14%     34.90µ ± 12%        ~ (p=0.557 n=7)
List/dqlite-overflows-page/pagination-4    64.80µ ±  10%     78.60µ ±  6%  +21.30% (p=0.001 n=7)
Update/sqlite/1-workers-4                  21.40µ ±  38%     20.50µ ± 31%        ~ (p=1.000 n=7)
Update/sqlite/4-workers-4                  21.20µ ±  25%     23.80µ ± 13%        ~ (p=0.259 n=7)
Update/sqlite/16-workers-4                 23.70µ ±  18%     23.70µ ± 14%        ~ (p=0.974 n=7)
Update/sqlite/64-workers-4                 24.90µ ±  45%     23.10µ ± 65%        ~ (p=0.710 n=7)
Update/sqlite/128-workers-4                49.00µ ± 410%     27.20µ ± 24%        ~ (p=0.053 n=7)
Update/dqlite/1-workers-4                  8.900µ ±  63%     9.100µ ± 84%        ~ (p=0.805 n=7)
Update/dqlite/4-workers-4                  8.800µ ±  61%    11.700µ ± 21%        ~ (p=0.198 n=7)
Update/dqlite/16-workers-4                 12.50µ ±  29%     10.00µ ± 41%        ~ (p=0.597 n=7)
Update/dqlite/64-workers-4                 11.80µ ±  18%     12.90µ ± 53%        ~ (p=0.735 n=7)
Update/dqlite/128-workers-4                9.100µ ±  78%    10.000µ ± 50%        ~ (p=1.000 n=7)
geomean                                    18.93µ            18.86µ         -0.36%

                                        │     Before      │                  After                  │
                                        │ sec-writing/op  │ sec-writing/op  vs base                 │
Compaction/sqlite-4                       9.100µ ±   2%      9.200µ ±  35%        ~ (p=0.337 n=7)
Compaction/dqlite-4                       7.000µ ±   4%      6.700µ ±  10%        ~ (p=0.210 n=7)
Create/sqlite/1-workers-4                 413.7µ ±  27%      313.4µ ±  23%  -24.24% (p=0.011 n=7)
Create/sqlite/4-workers-4                 1.864m ±  17%      1.793m ±  26%        ~ (p=0.165 n=7)
Create/sqlite/16-workers-4                6.868m ±  13%      6.242m ±  13%        ~ (p=0.128 n=7)
Create/sqlite/64-workers-4                22.82m ± 453%      22.77m ±  49%        ~ (p=0.383 n=7)
Create/sqlite/128-workers-4               46.31m ± 143%      46.63m ±  81%        ~ (p=0.902 n=7)
Create/dqlite/1-workers-4                 46.70µ ±  25%      35.80µ ±  26%  -23.34% (p=0.026 n=7)
Create/dqlite/4-workers-4                 45.20µ ±  17%      47.20µ ±  23%        ~ (p=1.000 n=7)
Create/dqlite/16-workers-4                47.00µ ±  24%      42.10µ ±  23%        ~ (p=0.620 n=7)
Create/dqlite/64-workers-4                41.10µ ±  41%      48.00µ ±  16%        ~ (p=0.097 n=7)
Create/dqlite/128-workers-4               41.70µ ±  24%      47.20µ ±  23%        ~ (p=0.456 n=7)
Delete/sqlite/1-workers-4                 321.1µ ±  22%      291.4µ ±  14%        ~ (p=0.318 n=7)
Delete/sqlite/4-workers-4                 1.610m ±  12%      1.519m ±  11%        ~ (p=0.053 n=7)
Delete/sqlite/16-workers-4                5.809m ±  14%      5.753m ±  13%        ~ (p=0.535 n=7)
Delete/sqlite/64-workers-4                22.96m ± 506%      20.45m ±  80%        ~ (p=0.209 n=7)
Delete/sqlite/128-workers-4               53.04m ±  79%      37.93m ± 328%        ~ (p=0.209 n=7)
Delete/dqlite/1-workers-4                 43.60µ ±  40%      37.20µ ±  23%        ~ (p=0.135 n=7)
Delete/dqlite/4-workers-4                 46.20µ ±  12%      44.30µ ±  23%        ~ (p=1.000 n=7)
Delete/dqlite/16-workers-4                42.50µ ±  25%      37.90µ ±  34%        ~ (p=0.535 n=7)
Delete/dqlite/64-workers-4                51.40µ ±  27%      44.20µ ±  34%        ~ (p=0.779 n=7)
Delete/dqlite/128-workers-4               46.80µ ±  30%      46.50µ ±  19%        ~ (p=0.805 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                 369.7µ ±  17%      276.9µ ±  33%  -25.10% (p=0.017 n=7)
Update/sqlite/4-workers-4                 1.761m ±  28%      1.637m ±  11%        ~ (p=0.165 n=7)
Update/sqlite/16-workers-4                5.782m ±  30%      5.852m ±  35%        ~ (p=0.456 n=7)
Update/sqlite/64-workers-4                23.68m ± 163%      20.38m ± 227%        ~ (p=0.710 n=7)
Update/sqlite/128-workers-4               95.59m ± 490%      44.94m ± 126%        ~ (p=0.073 n=7)
Update/dqlite/1-workers-4                 32.90µ ±  36%      38.90µ ±  17%        ~ (p=0.259 n=7)
Update/dqlite/4-workers-4                 45.30µ ±  27%      42.10µ ±  22%        ~ (p=0.058 n=7)
Update/dqlite/16-workers-4                44.80µ ±  24%      40.50µ ±  13%        ~ (p=0.073 n=7)
Update/dqlite/64-workers-4                41.60µ ±  15%      42.60µ ±  30%        ~ (p=0.510 n=7)
Update/dqlite/128-workers-4               42.70µ ±  36%      46.70µ ±  20%        ~ (p=0.875 n=7)
geomean                                                 ²                    -5.76%               ²
¹ all samples are equal
² summaries must be >0 to compute geomean

                                        │     Before     │                After                 │
                                        │      B/op      │     B/op       vs base               │
Compaction/sqlite-4                       2.479Ki ±  10%   2.302Ki ± 41%   -7.13% (p=0.038 n=7)
Compaction/dqlite-4                       5.110Ki ±  43%   5.096Ki ± 41%        ~ (p=0.805 n=7)
Create/sqlite/1-workers-4                 20.50Ki ±   0%   20.50Ki ±  0%        ~ (p=0.879 n=7)
Create/sqlite/4-workers-4                 20.52Ki ±   0%   20.50Ki ±  0%        ~ (p=0.128 n=7)
Create/sqlite/16-workers-4                20.53Ki ±   0%   20.52Ki ±  0%        ~ (p=0.773 n=7)
Create/sqlite/64-workers-4                20.60Ki ±  19%   20.58Ki ±  1%        ~ (p=0.383 n=7)
Create/sqlite/128-workers-4               20.73Ki ±  11%   20.72Ki ±  2%        ~ (p=0.927 n=7)
Create/dqlite/1-workers-4                 19.77Ki ±   0%   19.78Ki ±  0%        ~ (p=0.598 n=7)
Create/dqlite/4-workers-4                 19.75Ki ±   0%   19.74Ki ±  0%        ~ (p=0.686 n=7)
Create/dqlite/16-workers-4                19.79Ki ±   0%   19.74Ki ±  0%   -0.26% (p=0.001 n=7)
Create/dqlite/64-workers-4                19.79Ki ±   0%   19.74Ki ±  0%   -0.22% (p=0.007 n=7)
Create/dqlite/128-workers-4               19.80Ki ±   0%   19.76Ki ± 11%        ~ (p=0.301 n=7)
Delete/sqlite/1-workers-4                 22.95Ki ±   0%   22.94Ki ±  0%        ~ (p=0.400 n=7)
Delete/sqlite/4-workers-4                 22.95Ki ±   0%   22.94Ki ±  0%        ~ (p=0.157 n=7)
Delete/sqlite/16-workers-4                22.92Ki ±   0%   22.92Ki ±  0%        ~ (p=0.983 n=7)
Delete/sqlite/64-workers-4                22.96Ki ±   9%   22.95Ki ±  2%        ~ (p=0.510 n=7)
Delete/sqlite/128-workers-4               23.23Ki ±   3%   23.03Ki ±  9%        ~ (p=0.165 n=7)
Delete/dqlite/1-workers-4                 22.03Ki ±   0%   22.03Ki ±  0%        ~ (p=0.737 n=7)
Delete/dqlite/4-workers-4                 22.04Ki ±   0%   22.00Ki ±  0%        ~ (p=0.066 n=7)
Delete/dqlite/16-workers-4                22.02Ki ±  10%   22.02Ki ±  0%        ~ (p=0.475 n=7)
Delete/dqlite/64-workers-4                22.06Ki ±   9%   22.01Ki ±  0%   -0.23% (p=0.035 n=7)
Delete/dqlite/128-workers-4               22.08Ki ±   0%   22.03Ki ±  0%   -0.22% (p=0.008 n=7)
Get/sqlite-4                              24.42Ki ±   0%   24.49Ki ±  0%   +0.31% (p=0.001 n=7)
Get/dqlite-4                              23.25Ki ±   0%   23.31Ki ±  0%   +0.26% (p=0.001 n=7)
List/sqlite-tiny/all-4                    1.114Ki ±  15%   1.276Ki ± 22%        ~ (p=0.073 n=7)
List/sqlite-tiny/pagination-4             1.562Ki ±   2%   1.747Ki ±  5%  +11.88% (p=0.001 n=7)
List/sqlite-fits-in-page/all-4            7.452Ki ±  13%   7.672Ki ± 14%        ~ (p=0.318 n=7)
List/sqlite-fits-in-page/pagination-4     11.11Ki ±   6%   10.95Ki ±  8%        ~ (p=0.773 n=7)
List/sqlite-overflows-page/all-4          20.54Ki ±  12%   20.54Ki ±  0%        ~ (p=0.931 n=7)
List/sqlite-overflows-page/pagination-4   20.97Ki ±  49%   18.56Ki ± 60%        ~ (p=1.000 n=7)
List/dqlite-tiny/all-4                    1.054Ki ±  10%   1.059Ki ±  5%        ~ (p=0.879 n=7)
List/dqlite-tiny/pagination-4               982.0 ±   4%     972.0 ±  5%        ~ (p=0.441 n=7)
List/dqlite-fits-in-page/all-4            5.926Ki ±   6%   6.065Ki ±  5%        ~ (p=0.137 n=7)
List/dqlite-fits-in-page/pagination-4     5.518Ki ±   6%   5.562Ki ± 16%        ~ (p=0.383 n=7)
List/dqlite-overflows-page/all-4          28.22Ki ±   8%   30.19Ki ±  8%        ~ (p=0.456 n=7)
List/dqlite-overflows-page/pagination-4   29.60Ki ±   6%   30.86Ki ±  5%        ~ (p=0.165 n=7)
Update/sqlite/1-workers-4                 22.32Ki ±   0%   22.28Ki ±  0%   -0.17% (p=0.013 n=7)
Update/sqlite/4-workers-4                 22.33Ki ±   0%   22.29Ki ±  0%        ~ (p=0.154 n=7)
Update/sqlite/16-workers-4                22.37Ki ±   0%   22.29Ki ±  0%   -0.36% (p=0.001 n=7)
Update/sqlite/64-workers-4                22.73Ki ±  15%   22.31Ki ±  4%   -1.84% (p=0.038 n=7)
Update/sqlite/128-workers-4               29.09Ki ± 179%   22.38Ki ±  1%  -23.07% (p=0.004 n=7)
Update/dqlite/1-workers-4                 21.53Ki ±   0%   21.51Ki ±  0%        ~ (p=0.123 n=7)
Update/dqlite/4-workers-4                 21.51Ki ±   0%   21.47Ki ±  0%   -0.17% (p=0.002 n=7)
Update/dqlite/16-workers-4                21.61Ki ±   1%   21.48Ki ±  0%   -0.60% (p=0.001 n=7)
Update/dqlite/64-workers-4                22.00Ki ±   3%   21.44Ki ±  0%   -2.57% (p=0.002 n=7)
Update/dqlite/128-workers-4               22.34Ki ±   4%   21.36Ki ±  0%   -4.39% (p=0.001 n=7)
geomean                                   14.36Ki          14.30Ki         -0.41%

                                        │    Before    │                After                 │
                                        │  allocs/op   │  allocs/op   vs base                 │
Compaction/sqlite-4                       53.00 ±   9%   49.00 ± 41%   -7.55% (p=0.033 n=7)
Compaction/dqlite-4                       122.0 ±  43%   122.0 ± 41%        ~ (p=0.734 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=1.000 n=7)
Create/sqlite/64-workers-4                400.0 ±   4%   400.0 ±  0%        ~ (p=0.554 n=7)
Create/sqlite/128-workers-4               402.0 ±   3%   401.0 ±  1%        ~ (p=0.632 n=7)
Create/dqlite/1-workers-4                 369.0 ±   0%   369.0 ±  0%        ~ (p=1.000 n=7)
Create/dqlite/4-workers-4                 368.0 ±   0%   368.0 ±  0%        ~ (p=1.000 n=7)
Create/dqlite/16-workers-4                368.0 ±   0%   368.0 ±  0%        ~ (p=0.192 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 ± 13%        ~ (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.462 n=7)
Delete/sqlite/64-workers-4                431.0 ±   0%   431.0 ±  0%        ~ (p=1.000 n=7)
Delete/sqlite/128-workers-4               434.0 ±   1%   432.0 ±  1%        ~ (p=0.054 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 ±  12%   399.0 ±  0%        ~ (p=1.000 n=7)
Delete/dqlite/64-workers-4                398.0 ±  12%   399.0 ±  0%        ~ (p=0.070 n=7)
Delete/dqlite/128-workers-4               398.0 ±   0%   399.0 ±  0%   +0.25% (p=0.021 n=7)
Get/sqlite-4                              445.0 ±   0%   446.0 ±  0%   +0.22% (p=0.001 n=7)
Get/dqlite-4                              412.0 ±   0%   413.0 ±  0%   +0.24% (p=0.001 n=7)
List/sqlite-tiny/all-4                    14.00 ±  29%   18.00 ± 33%        ~ (p=0.082 n=7)
List/sqlite-tiny/pagination-4             25.00 ±   4%   28.00 ±  7%  +12.00% (p=0.001 n=7)
List/sqlite-fits-in-page/all-4            22.00 ±  23%   23.00 ± 26%        ~ (p=0.359 n=7)
List/sqlite-fits-in-page/pagination-4     41.00 ±   7%   41.00 ± 12%        ~ (p=0.780 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   11.00 ±  91%   10.00 ± 90%        ~ (p=0.972 n=7)
List/dqlite-tiny/all-4                    15.00 ±  20%   15.00 ± 13%        ~ (p=1.000 n=7)
List/dqlite-tiny/pagination-4             14.00 ±   7%   14.00 ±  7%        ~ (p=1.000 n=7)
List/dqlite-fits-in-page/all-4            20.00 ±   5%   20.00 ± 15%        ~ (p=1.000 n=7)
List/dqlite-fits-in-page/pagination-4     19.00 ±   5%   18.00 ± 22%        ~ (p=0.089 n=7)
List/dqlite-overflows-page/all-4          34.00 ±   0%   34.00 ±  3%        ~ (p=1.000 n=7)
List/dqlite-overflows-page/pagination-4   34.00 ±   6%   36.00 ±  3%   +5.88% (p=0.027 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%   412.0 ±  0%   -0.24% (p=0.033 n=7)
Update/sqlite/64-workers-4                419.0 ±  13%   412.0 ±  1%   -1.67% (p=0.002 n=7)
Update/sqlite/128-workers-4               527.0 ± 179%   413.0 ±  0%  -21.63% (p=0.005 n=7)
Update/dqlite/1-workers-4                 381.0 ±   0%   381.0 ±  0%        ~ (p=1.000 n=7) ¹
Update/dqlite/4-workers-4                 381.0 ±   0%   381.0 ±  0%        ~ (p=1.000 n=7) ¹
Update/dqlite/16-workers-4                383.0 ±   1%   381.0 ±  0%   -0.52% (p=0.001 n=7)
Update/dqlite/64-workers-4                389.0 ±   3%   380.0 ±  0%   -2.31% (p=0.043 n=7)
Update/dqlite/128-workers-4               396.0 ±   4%   379.0 ±  0%   -4.29% (p=0.001 n=7)
geomean                                   170.6          170.3         -0.21%
¹ all samples are equal

                                        │        Before         │                    After                    │
                                        │ network-bytes-read/op │ network-bytes-read/op  vs base              │
Compaction/dqlite-4                               1.846Ki ± 44%           1.840Ki ± 42%       ~ (p=0.805 n=7)
Create/dqlite/1-workers-4                           240.3 ±  0%             240.2 ±  0%       ~ (p=0.557 n=7)
Create/dqlite/4-workers-4                           241.1 ±  0%             241.1 ±  0%       ~ (p=0.632 n=7)
Create/dqlite/16-workers-4                          239.4 ±  0%             241.3 ±  0%  +0.79% (p=0.001 n=7)
Create/dqlite/64-workers-4                          240.0 ±  0%             241.7 ±  0%  +0.71% (p=0.002 n=7)
Create/dqlite/128-workers-4                         240.6 ±  1%             240.6 ± 34%       ~ (p=0.685 n=7)
Delete/dqlite/1-workers-4                           716.4 ±  0%             716.9 ±  0%       ~ (p=0.383 n=7)
Delete/dqlite/4-workers-4                           715.1 ±  1%             718.5 ±  0%       ~ (p=0.071 n=7)
Delete/dqlite/16-workers-4                          717.0 ± 11%             716.6 ±  0%       ~ (p=0.976 n=7)
Delete/dqlite/64-workers-4                          715.3 ± 11%             718.6 ±  0%  +0.46% (p=0.002 n=7)
Delete/dqlite/128-workers-4                         715.7 ±  0%             718.5 ±  0%  +0.39% (p=0.003 n=7)
Get/dqlite-4                                      1.132Ki ±  0%           1.134Ki ±  0%  +0.17% (p=0.006 n=7)
List/dqlite-tiny/all-4                              211.8 ± 19%             211.9 ±  9%       ~ (p=0.805 n=7)
List/dqlite-tiny/pagination-4                       196.6 ±  2%             197.8 ±  5%       ~ (p=0.596 n=7)
List/dqlite-fits-in-page/all-4                    1.363Ki ±  5%           1.354Ki ± 11%       ~ (p=0.271 n=7)
List/dqlite-fits-in-page/pagination-4             1.336Ki ±  7%           1.252Ki ± 24%  -6.29% (p=0.038 n=7)
List/dqlite-overflows-page/all-4                  7.050Ki ±  2%           7.119Ki ±  2%       ~ (p=0.383 n=7)
List/dqlite-overflows-page/pagination-4           7.120Ki ±  6%           7.604Ki ±  5%  +6.80% (p=0.017 n=7)
Update/dqlite/1-workers-4                           262.5 ±  0%             262.6 ±  0%       ~ (p=0.152 n=7)
Update/dqlite/4-workers-4                           262.7 ±  0%             262.9 ±  0%       ~ (p=0.442 n=7)
Update/dqlite/16-workers-4                          263.7 ±  1%             262.7 ±  0%  -0.38% (p=0.001 n=7)
Update/dqlite/64-workers-4                          267.8 ±  2%             262.0 ±  0%       ~ (p=0.175 n=7)
Update/dqlite/128-workers-4                         272.5 ±  4%             261.5 ±  0%  -4.04% (p=0.001 n=7)
geomean                                             563.1                   562.4        -0.13%

                                        │          Before          │                     After                      │
                                        │ network-bytes-written/op │ network-bytes-written/op  vs base              │
Compaction/dqlite-4                                    4.518 ±  7%                4.507 ±  7%       ~ (p=0.805 n=7)
Create/dqlite/1-workers-4                              113.6 ±  1%                112.9 ±  1%       ~ (p=0.219 n=7)
Create/dqlite/4-workers-4                              115.3 ±  1%                115.0 ±  1%       ~ (p=0.678 n=7)
Create/dqlite/16-workers-4                             112.3 ±  1%                115.6 ±  2%  +2.94% (p=0.001 n=7)
Create/dqlite/64-workers-4                             113.4 ±  1%                116.0 ±  2%  +2.29% (p=0.003 n=7)
Create/dqlite/128-workers-4                            114.4 ±  2%                113.9 ± 23%       ~ (p=0.731 n=7)
Delete/dqlite/1-workers-4                              81.71 ±  1%                82.02 ±  1%       ~ (p=0.318 n=7)
Delete/dqlite/4-workers-4                              81.32 ±  2%                82.75 ±  1%       ~ (p=0.079 n=7)
Delete/dqlite/16-workers-4                             81.96 ± 32%                81.76 ±  1%       ~ (p=1.000 n=7)
Delete/dqlite/64-workers-4                             81.23 ± 31%                82.84 ±  1%  +1.98% (p=0.001 n=7)
Delete/dqlite/128-workers-4                            81.50 ±  1%                82.74 ±  1%  +1.52% (p=0.007 n=7)
Get/dqlite-4                                           80.50 ±  0%                88.50 ±  0%  +9.94% (p=0.001 n=7)
List/dqlite-tiny/all-4                               0.04650 ± 35%              0.04662 ± 16%       ~ (p=0.805 n=7)
List/dqlite-tiny/pagination-4                        0.04776 ±  6%              0.05009 ± 10%       ~ (p=0.318 n=7)
List/dqlite-fits-in-page/all-4                       0.06226 ±  8%              0.06156 ± 17%       ~ (p=0.365 n=7)
List/dqlite-fits-in-page/pagination-4                0.08417 ± 13%              0.07801 ± 34%       ~ (p=0.318 n=7)
List/dqlite-overflows-page/all-4                     0.07958 ±  2%              0.08148 ±  5%       ~ (p=0.175 n=7)
List/dqlite-overflows-page/pagination-4               0.1252 ± 15%               0.1254 ± 27%       ~ (p=0.902 n=7)
Update/dqlite/1-workers-4                              136.7 ±  0%                136.6 ±  0%       ~ (p=0.308 n=7)
Update/dqlite/4-workers-4                              136.7 ±  0%                136.4 ±  0%  -0.22% (p=0.008 n=7)
Update/dqlite/16-workers-4                             137.2 ±  1%                136.5 ±  0%  -0.51% (p=0.001 n=7)
Update/dqlite/64-workers-4                             140.2 ±  3%                136.2 ±  0%  -2.85% (p=0.001 n=7)
Update/dqlite/128-workers-4                            141.8 ±  4%                135.8 ±  0%  -4.23% (p=0.001 n=7)
geomean                                                13.73                      13.79        +0.40%
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.55µ ±    7%
Compaction/dqlite-4                       42.80µ ±    9%
Create/sqlite/1-workers-4                 536.3µ ±   13%
Create/sqlite/4-workers-4                 574.4µ ±   19%
Create/sqlite/16-workers-4                579.6µ ±   24%
Create/sqlite/64-workers-4                657.0µ ±  182%
Create/sqlite/128-workers-4               916.3µ ±  164%
Create/dqlite/1-workers-4                 1.206m ±    4%
Create/dqlite/4-workers-4                 1.102m ±    7%
Create/dqlite/16-workers-4                1.060m ±    6%
Create/dqlite/64-workers-4                1.014m ±    9%
Create/dqlite/128-workers-4               1.027m ±    8%
Delete/sqlite/1-workers-4                 515.3µ ±    8%
Delete/sqlite/4-workers-4                 507.2µ ±    6%
Delete/sqlite/16-workers-4                487.4µ ±   11%
Delete/sqlite/64-workers-4                494.4µ ±  394%
Delete/sqlite/128-workers-4               658.1µ ± 2124%
Delete/dqlite/1-workers-4                 1.147m ±   11%
Delete/dqlite/4-workers-4                 1.065m ±   10%
Delete/dqlite/16-workers-4                1.084m ±   10%
Delete/dqlite/64-workers-4                996.1µ ±   10%
Delete/dqlite/128-workers-4               1.037m ±   10%
Get/sqlite-4                              235.3µ ±    1%
Get/dqlite-4                              338.9µ ±    1%
List/sqlite-tiny/all-4                    4.224µ ±   10%
List/sqlite-tiny/pagination-4             8.603µ ±    3%
List/sqlite-fits-in-page/all-4            7.854µ ±    4%
List/sqlite-fits-in-page/pagination-4     23.10µ ±    3%
List/sqlite-overflows-page/all-4          17.35µ ±    4%
List/sqlite-overflows-page/pagination-4   42.69µ ±    4%
List/dqlite-tiny/all-4                    3.043µ ±    5%
List/dqlite-tiny/pagination-4             6.202µ ±    2%
List/dqlite-fits-in-page/all-4            6.716µ ±    7%
List/dqlite-fits-in-page/pagination-4     17.48µ ±    5%
List/dqlite-overflows-page/all-4          21.46µ ±    4%
List/dqlite-overflows-page/pagination-4   44.96µ ±    4%
Update/sqlite/1-workers-4                 505.1µ ±   18%
Update/sqlite/4-workers-4                 549.4µ ±   10%
Update/sqlite/16-workers-4                528.0µ ±   17%
Update/sqlite/64-workers-4                534.2µ ± 1162%
Update/sqlite/128-workers-4               1.047m ±  235%
Update/dqlite/1-workers-4                 1.206m ±   12%
Update/dqlite/4-workers-4                 1.023m ±    4%
Update/dqlite/16-workers-4                1.060m ±    5%
Update/dqlite/64-workers-4                1.007m ±   10%
Update/dqlite/128-workers-4               952.5µ ±    4%
geomean                                   220.8µ

                                        │        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.36 ±  1%
Compaction/dqlite-4                         12.18 ±  1%
Create/sqlite/1-workers-4                   13.85 ±  1%
Create/sqlite/4-workers-4                   12.78 ±  7%
Create/sqlite/16-workers-4                  11.84 ±  5%
Create/sqlite/64-workers-4                  9.230 ±  7%
Create/sqlite/128-workers-4                 8.336 ± 11%
Create/dqlite/1-workers-4                   13.17 ±  2%
Create/dqlite/4-workers-4                   10.83 ±  3%
Create/dqlite/16-workers-4                  10.84 ±  1%
Create/dqlite/64-workers-4                  10.78 ±  1%
Create/dqlite/128-workers-4                 10.68 ±  2%
Delete/sqlite/1-workers-4                   16.24 ±  0%
Delete/sqlite/4-workers-4                   14.99 ±  2%
Delete/sqlite/16-workers-4                  12.63 ±  5%
Delete/sqlite/64-workers-4                  10.13 ±  6%
Delete/sqlite/128-workers-4                 9.498 ± 30%
Delete/dqlite/1-workers-4                   15.67 ±  2%
Delete/dqlite/4-workers-4                   13.30 ±  1%
Delete/dqlite/16-workers-4                  13.31 ±  1%
Delete/dqlite/64-workers-4                  13.15 ±  1%
Delete/dqlite/128-workers-4                 13.22 ±  1%
Get/sqlite-4                                14.96 ±  0%
Get/dqlite-4                                11.96 ±  0%
List/sqlite-tiny/all-4                     192.7m ±  2%
List/sqlite-tiny/pagination-4               1.133 ±  0%
List/sqlite-fits-in-page/all-4             164.7m ±  2%
List/sqlite-fits-in-page/pagination-4      965.7m ±  0%
List/sqlite-overflows-page/all-4           177.2m ±  0%
List/sqlite-overflows-page/pagination-4     1.145 ± 44%
List/dqlite-tiny/all-4                     191.5m ±  0%
List/dqlite-tiny/pagination-4               1.126 ±  0%
List/dqlite-fits-in-page/all-4             164.1m ±  1%
List/dqlite-fits-in-page/pagination-4      954.6m ±  0%
List/dqlite-overflows-page/all-4           184.2m ±  0%
List/dqlite-overflows-page/pagination-4     1.073 ±  3%
Update/sqlite/1-workers-4                   15.81 ±  1%
Update/sqlite/4-workers-4                   14.90 ±  3%
Update/sqlite/16-workers-4                  13.31 ±  6%
Update/sqlite/64-workers-4                  11.33 ± 44%
Update/sqlite/128-workers-4                 9.928 ± 24%
Update/dqlite/1-workers-4                   15.34 ±  1%
Update/dqlite/4-workers-4                   12.64 ±  1%
Update/dqlite/16-workers-4                  12.63 ±  1%
Update/dqlite/64-workers-4                  12.55 ±  1%
Update/dqlite/128-workers-4                 12.67 ±  0%
geomean                                     5.178

                                        │     After      │
                                        │ page-writes/op │
Compaction/sqlite-4                        190.3m ± 0%
Compaction/dqlite-4                        187.9m ± 1%
Create/sqlite/1-workers-4                   4.358 ± 0%
Create/sqlite/4-workers-4                   4.337 ± 2%
Create/sqlite/16-workers-4                  4.273 ± 1%
Create/sqlite/64-workers-4                  4.225 ± 4%
Create/sqlite/128-workers-4                 4.154 ± 3%
Create/dqlite/1-workers-4                   4.165 ± 1%
Create/dqlite/4-workers-4                   4.245 ± 1%
Create/dqlite/16-workers-4                  4.267 ± 2%
Create/dqlite/64-workers-4                  4.292 ± 2%
Create/dqlite/128-workers-4                 4.275 ± 3%
Delete/sqlite/1-workers-4                   4.391 ± 0%
Delete/sqlite/4-workers-4                   4.408 ± 1%
Delete/sqlite/16-workers-4                  4.367 ± 1%
Delete/sqlite/64-workers-4                  4.356 ± 1%
Delete/sqlite/128-workers-4                 4.310 ± 4%
Delete/dqlite/1-workers-4                   4.360 ± 0%
Delete/dqlite/4-workers-4                   4.370 ± 0%
Delete/dqlite/16-workers-4                  4.367 ± 1%
Delete/dqlite/64-workers-4                  4.363 ± 1%
Delete/dqlite/128-workers-4                 4.346 ± 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.244 ± 0%
Update/sqlite/4-workers-4                   4.299 ± 1%
Update/sqlite/16-workers-4                  4.306 ± 1%
Update/sqlite/64-workers-4                  4.291 ± 6%
Update/sqlite/128-workers-4                 4.211 ± 4%
Update/dqlite/1-workers-4                   4.198 ± 1%
Update/dqlite/4-workers-4                   4.203 ± 1%
Update/dqlite/16-workers-4                  4.205 ± 1%
Update/dqlite/64-workers-4                  4.225 ± 1%
Update/dqlite/128-workers-4                 4.244 ± 1%
geomean                                                ¹
¹ summaries must be >0 to compute geomean

                                        │     After      │
                                        │ sec-reading/op │
Compaction/sqlite-4                         27.50µ ± 32%
Compaction/dqlite-4                         29.20µ ± 31%
Create/sqlite/1-workers-4                   18.70µ ± 51%
Create/sqlite/4-workers-4                   23.10µ ± 30%
Create/sqlite/16-workers-4                  22.10µ ± 28%
Create/sqlite/64-workers-4                  23.30µ ± 24%
Create/sqlite/128-workers-4                 21.70µ ± 27%
Create/dqlite/1-workers-4                   10.40µ ± 53%
Create/dqlite/4-workers-4                   10.40µ ± 36%
Create/dqlite/16-workers-4                  12.60µ ± 41%
Create/dqlite/64-workers-4                  11.90µ ± 19%
Create/dqlite/128-workers-4                 10.40µ ± 83%
Delete/sqlite/1-workers-4                   30.80µ ± 20%
Delete/sqlite/4-workers-4                   32.00µ ± 10%
Delete/sqlite/16-workers-4                  31.10µ ± 16%
Delete/sqlite/64-workers-4                  36.80µ ± 31%
Delete/sqlite/128-workers-4                 34.30µ ± 42%
Delete/dqlite/1-workers-4                   14.70µ ± 53%
Delete/dqlite/4-workers-4                   14.50µ ± 61%
Delete/dqlite/16-workers-4                  17.40µ ± 40%
Delete/dqlite/64-workers-4                  17.10µ ± 32%
Delete/dqlite/128-workers-4                 14.00µ ± 41%
Get/sqlite-4                                61.90µ ±  5%
Get/dqlite-4                                32.10µ ± 17%
List/sqlite-tiny/all-4                      7.900µ ± 37%
List/sqlite-tiny/pagination-4               16.10µ ±  6%
List/sqlite-fits-in-page/all-4              14.40µ ± 21%
List/sqlite-fits-in-page/pagination-4       39.70µ ±  8%
List/sqlite-overflows-page/all-4            13.50µ ±  5%
List/sqlite-overflows-page/pagination-4     37.70µ ± 34%
List/dqlite-tiny/all-4                      5.100µ ± 29%
List/dqlite-tiny/pagination-4               8.600µ ±  7%
List/dqlite-fits-in-page/all-4              9.400µ ± 16%
List/dqlite-fits-in-page/pagination-4       25.30µ ± 24%
List/dqlite-overflows-page/all-4            34.90µ ± 12%
List/dqlite-overflows-page/pagination-4     78.60µ ±  6%
Update/sqlite/1-workers-4                   20.50µ ± 31%
Update/sqlite/4-workers-4                   23.80µ ± 13%
Update/sqlite/16-workers-4                  23.70µ ± 14%
Update/sqlite/64-workers-4                  23.10µ ± 65%
Update/sqlite/128-workers-4                 27.20µ ± 24%
Update/dqlite/1-workers-4                   9.100µ ± 84%
Update/dqlite/4-workers-4                   11.70µ ± 21%
Update/dqlite/16-workers-4                  10.00µ ± 41%
Update/dqlite/64-workers-4                  12.90µ ± 53%
Update/dqlite/128-workers-4                 10.00µ ± 50%
geomean                                     18.86µ

                                        │      After      │
                                        │ sec-writing/op  │
Compaction/sqlite-4                       9.200µ ±  35%
Compaction/dqlite-4                       6.700µ ±  10%
Create/sqlite/1-workers-4                 313.4µ ±  23%
Create/sqlite/4-workers-4                 1.793m ±  26%
Create/sqlite/16-workers-4                6.242m ±  13%
Create/sqlite/64-workers-4                22.77m ±  49%
Create/sqlite/128-workers-4               46.63m ±  81%
Create/dqlite/1-workers-4                 35.80µ ±  26%
Create/dqlite/4-workers-4                 47.20µ ±  23%
Create/dqlite/16-workers-4                42.10µ ±  23%
Create/dqlite/64-workers-4                48.00µ ±  16%
Create/dqlite/128-workers-4               47.20µ ±  23%
Delete/sqlite/1-workers-4                 291.4µ ±  14%
Delete/sqlite/4-workers-4                 1.519m ±  11%
Delete/sqlite/16-workers-4                5.753m ±  13%
Delete/sqlite/64-workers-4                20.45m ±  80%
Delete/sqlite/128-workers-4               37.93m ± 328%
Delete/dqlite/1-workers-4                 37.20µ ±  23%
Delete/dqlite/4-workers-4                 44.30µ ±  23%
Delete/dqlite/16-workers-4                37.90µ ±  34%
Delete/dqlite/64-workers-4                44.20µ ±  34%
Delete/dqlite/128-workers-4               46.50µ ±  19%
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                 276.9µ ±  33%
Update/sqlite/4-workers-4                 1.637m ±  11%
Update/sqlite/16-workers-4                5.852m ±  35%
Update/sqlite/64-workers-4                20.38m ± 227%
Update/sqlite/128-workers-4               44.94m ± 126%
Update/dqlite/1-workers-4                 38.90µ ±  17%
Update/dqlite/4-workers-4                 42.10µ ±  22%
Update/dqlite/16-workers-4                40.50µ ±  13%
Update/dqlite/64-workers-4                42.60µ ±  30%
Update/dqlite/128-workers-4               46.70µ ±  20%
geomean                                                 ¹
¹ summaries must be >0 to compute geomean

                                        │     After     │
                                        │     B/op      │
Compaction/sqlite-4                       2.302Ki ± 41%
Compaction/dqlite-4                       5.096Ki ± 41%
Create/sqlite/1-workers-4                 20.50Ki ±  0%
Create/sqlite/4-workers-4                 20.50Ki ±  0%
Create/sqlite/16-workers-4                20.52Ki ±  0%
Create/sqlite/64-workers-4                20.58Ki ±  1%
Create/sqlite/128-workers-4               20.72Ki ±  2%
Create/dqlite/1-workers-4                 19.78Ki ±  0%
Create/dqlite/4-workers-4                 19.74Ki ±  0%
Create/dqlite/16-workers-4                19.74Ki ±  0%
Create/dqlite/64-workers-4                19.74Ki ±  0%
Create/dqlite/128-workers-4               19.76Ki ± 11%
Delete/sqlite/1-workers-4                 22.94Ki ±  0%
Delete/sqlite/4-workers-4                 22.94Ki ±  0%
Delete/sqlite/16-workers-4                22.92Ki ±  0%
Delete/sqlite/64-workers-4                22.95Ki ±  2%
Delete/sqlite/128-workers-4               23.03Ki ±  9%
Delete/dqlite/1-workers-4                 22.03Ki ±  0%
Delete/dqlite/4-workers-4                 22.00Ki ±  0%
Delete/dqlite/16-workers-4                22.02Ki ±  0%
Delete/dqlite/64-workers-4                22.01Ki ±  0%
Delete/dqlite/128-workers-4               22.03Ki ±  0%
Get/sqlite-4                              24.49Ki ±  0%
Get/dqlite-4                              23.31Ki ±  0%
List/sqlite-tiny/all-4                    1.276Ki ± 22%
List/sqlite-tiny/pagination-4             1.747Ki ±  5%
List/sqlite-fits-in-page/all-4            7.672Ki ± 14%
List/sqlite-fits-in-page/pagination-4     10.95Ki ±  8%
List/sqlite-overflows-page/all-4          20.54Ki ±  0%
List/sqlite-overflows-page/pagination-4   18.56Ki ± 60%
List/dqlite-tiny/all-4                    1.059Ki ±  5%
List/dqlite-tiny/pagination-4               972.0 ±  5%
List/dqlite-fits-in-page/all-4            6.065Ki ±  5%
List/dqlite-fits-in-page/pagination-4     5.562Ki ± 16%
List/dqlite-overflows-page/all-4          30.19Ki ±  8%
List/dqlite-overflows-page/pagination-4   30.86Ki ±  5%
Update/sqlite/1-workers-4                 22.28Ki ±  0%
Update/sqlite/4-workers-4                 22.29Ki ±  0%
Update/sqlite/16-workers-4                22.29Ki ±  0%
Update/sqlite/64-workers-4                22.31Ki ±  4%
Update/sqlite/128-workers-4               22.38Ki ±  1%
Update/dqlite/1-workers-4                 21.51Ki ±  0%
Update/dqlite/4-workers-4                 21.47Ki ±  0%
Update/dqlite/16-workers-4                21.48Ki ±  0%
Update/dqlite/64-workers-4                21.44Ki ±  0%
Update/dqlite/128-workers-4               21.36Ki ±  0%
geomean                                   14.30Ki

                                        │    After    │
                                        │  allocs/op  │
Compaction/sqlite-4                       49.00 ± 41%
Compaction/dqlite-4                       122.0 ± 41%
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 ±  0%
Create/sqlite/128-workers-4               401.0 ±  1%
Create/dqlite/1-workers-4                 369.0 ±  0%
Create/dqlite/4-workers-4                 368.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 ± 13%
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                431.0 ±  0%
Delete/sqlite/128-workers-4               432.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               399.0 ±  0%
Get/sqlite-4                              446.0 ±  0%
Get/dqlite-4                              413.0 ±  0%
List/sqlite-tiny/all-4                    18.00 ± 33%
List/sqlite-tiny/pagination-4             28.00 ±  7%
List/sqlite-fits-in-page/all-4            23.00 ± 26%
List/sqlite-fits-in-page/pagination-4     41.00 ± 12%
List/sqlite-overflows-page/all-4          9.000 ±  0%
List/sqlite-overflows-page/pagination-4   10.00 ± 90%
List/dqlite-tiny/all-4                    15.00 ± 13%
List/dqlite-tiny/pagination-4             14.00 ±  7%
List/dqlite-fits-in-page/all-4            20.00 ± 15%
List/dqlite-fits-in-page/pagination-4     18.00 ± 22%
List/dqlite-overflows-page/all-4          34.00 ±  3%
List/dqlite-overflows-page/pagination-4   36.00 ±  3%
Update/sqlite/1-workers-4                 412.0 ±  0%
Update/sqlite/4-workers-4                 412.0 ±  0%
Update/sqlite/16-workers-4                412.0 ±  0%
Update/sqlite/64-workers-4                412.0 ±  1%
Update/sqlite/128-workers-4               413.0 ±  0%
Update/dqlite/1-workers-4                 381.0 ±  0%
Update/dqlite/4-workers-4                 381.0 ±  0%
Update/dqlite/16-workers-4                381.0 ±  0%
Update/dqlite/64-workers-4                380.0 ±  0%
Update/dqlite/128-workers-4               379.0 ±  0%
geomean                                   170.3

                                        │         After         │
                                        │ network-bytes-read/op │
Compaction/dqlite-4                               1.840Ki ± 42%
Create/dqlite/1-workers-4                           240.2 ±  0%
Create/dqlite/4-workers-4                           241.1 ±  0%
Create/dqlite/16-workers-4                          241.3 ±  0%
Create/dqlite/64-workers-4                          241.7 ±  0%
Create/dqlite/128-workers-4                         240.6 ± 34%
Delete/dqlite/1-workers-4                           716.9 ±  0%
Delete/dqlite/4-workers-4                           718.5 ±  0%
Delete/dqlite/16-workers-4                          716.6 ±  0%
Delete/dqlite/64-workers-4                          718.6 ±  0%
Delete/dqlite/128-workers-4                         718.5 ±  0%
Get/dqlite-4                                      1.134Ki ±  0%
List/dqlite-tiny/all-4                              211.9 ±  9%
List/dqlite-tiny/pagination-4                       197.8 ±  5%
List/dqlite-fits-in-page/all-4                    1.354Ki ± 11%
List/dqlite-fits-in-page/pagination-4             1.252Ki ± 24%
List/dqlite-overflows-page/all-4                  7.119Ki ±  2%
List/dqlite-overflows-page/pagination-4           7.604Ki ±  5%
Update/dqlite/1-workers-4                           262.6 ±  0%
Update/dqlite/4-workers-4                           262.9 ±  0%
Update/dqlite/16-workers-4                          262.7 ±  0%
Update/dqlite/64-workers-4                          262.0 ±  0%
Update/dqlite/128-workers-4                         261.5 ±  0%
geomean                                             562.4

                                        │          After           │
                                        │ network-bytes-written/op │
Compaction/dqlite-4                                    4.507 ±  7%
Create/dqlite/1-workers-4                              112.9 ±  1%
Create/dqlite/4-workers-4                              115.0 ±  1%
Create/dqlite/16-workers-4                             115.6 ±  2%
Create/dqlite/64-workers-4                             116.0 ±  2%
Create/dqlite/128-workers-4                            113.9 ± 23%
Delete/dqlite/1-workers-4                              82.02 ±  1%
Delete/dqlite/4-workers-4                              82.75 ±  1%
Delete/dqlite/16-workers-4                             81.76 ±  1%
Delete/dqlite/64-workers-4                             82.84 ±  1%
Delete/dqlite/128-workers-4                            82.74 ±  1%
Get/dqlite-4                                           88.50 ±  0%
List/dqlite-tiny/all-4                               0.04662 ± 16%
List/dqlite-tiny/pagination-4                        0.05009 ± 10%
List/dqlite-fits-in-page/all-4                       0.06156 ± 17%
List/dqlite-fits-in-page/pagination-4                0.07801 ± 34%
List/dqlite-overflows-page/all-4                     0.08148 ±  5%
List/dqlite-overflows-page/pagination-4               0.1254 ± 27%
Update/dqlite/1-workers-4                              136.6 ±  0%
Update/dqlite/4-workers-4                              136.4 ±  0%
Update/dqlite/16-workers-4                             136.5 ±  0%
Update/dqlite/64-workers-4                             136.2 ±  0%
Update/dqlite/128-workers-4                            135.8 ±  0%
geomean                                                13.79

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.

1 participant