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

ci: add Tiobe TICS nightly workflow with coverage #225

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

claudiubelu
Copy link
Contributor

@claudiubelu claudiubelu commented Jan 20, 2025

Adds TICS nightly scan github action.

  • add new go.coverage Makefile target
  • add nightly workflow for running TICS scan

Based on: #204

Also verify you have:

@claudiubelu claudiubelu requested a review from a team as a code owner January 20, 2025 09:02
@claudiubelu claudiubelu marked this pull request as draft January 20, 2025 09:02
Copy link

github-actions bot commented Jan 20, 2025

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                        17.56µ ±  50%    17.22µ ±  56%        ~ (p=0.209 n=7)
Compaction/dqlite-4                        57.03µ ±   5%    57.12µ ±  35%        ~ (p=0.805 n=7)
Create/sqlite/1-workers-4                  494.8µ ±   3%    473.5µ ±   2%   -4.31% (p=0.001 n=7)
Create/sqlite/4-workers-4                  466.8µ ±   6%    451.3µ ±   7%   -3.34% (p=0.001 n=7)
Create/sqlite/16-workers-4                 428.1µ ±   7%    408.2µ ±   4%   -4.64% (p=0.007 n=7)
Create/sqlite/64-workers-4                 498.0µ ± 102%    435.6µ ±  10%        ~ (p=0.128 n=7)
Create/sqlite/128-workers-4                1.885m ± 186%    1.252m ±  32%  -33.57% (p=0.026 n=7)
Create/dqlite/1-workers-4                 1031.2µ ±   2%    983.1µ ±   4%   -4.66% (p=0.001 n=7)
Create/dqlite/4-workers-4                  900.7µ ±   8%    876.1µ ±   2%   -2.73% (p=0.004 n=7)
Create/dqlite/16-workers-4                 911.7µ ±   4%    822.0µ ±   9%   -9.83% (p=0.001 n=7)
Create/dqlite/64-workers-4                 913.5µ ±   1%    835.6µ ±   6%   -8.53% (p=0.001 n=7)
Create/dqlite/128-workers-4                918.1µ ±   2%    833.4µ ±   3%   -9.23% (p=0.001 n=7)
Delete/sqlite/1-workers-4                  490.6µ ±   4%    444.3µ ±   4%   -9.44% (p=0.001 n=7)
Delete/sqlite/4-workers-4                  447.2µ ±   6%    437.9µ ±   2%        ~ (p=0.209 n=7)
Delete/sqlite/16-workers-4                 413.4µ ±  11%    407.9µ ±  12%        ~ (p=0.259 n=7)
Delete/sqlite/64-workers-4                 443.4µ ± 264%    452.8µ ± 343%        ~ (p=1.000 n=7)
Delete/sqlite/128-workers-4                864.4µ ±  84%    691.8µ ± 171%        ~ (p=1.000 n=7)
Delete/dqlite/1-workers-4                 1060.7µ ±   4%    951.1µ ±   6%  -10.34% (p=0.001 n=7)
Delete/dqlite/4-workers-4                  917.7µ ±  10%    839.7µ ±   2%   -8.50% (p=0.038 n=7)
Delete/dqlite/16-workers-4                 910.0µ ±  14%    846.0µ ±   3%   -7.03% (p=0.026 n=7)
Delete/dqlite/64-workers-4                 901.4µ ±  10%    847.1µ ±   3%        ~ (p=0.209 n=7)
Delete/dqlite/128-workers-4                902.2µ ±   2%    864.5µ ±   3%   -4.18% (p=0.001 n=7)
Get/sqlite-4                               224.5µ ±   0%    223.9µ ±   1%        ~ (p=0.097 n=7)
Get/dqlite-4                               339.7µ ±   1%    338.1µ ±   1%        ~ (p=0.128 n=7)
List/sqlite-tiny/all-4                     3.101µ ±   5%    3.166µ ±   4%        ~ (p=0.710 n=7)
List/sqlite-tiny/pagination-4              4.618µ ±  16%    4.619µ ±  15%        ~ (p=1.000 n=7)
List/sqlite-fits-in-page/all-4             6.510µ ±   3%    6.433µ ±   4%        ~ (p=0.456 n=7)
List/sqlite-fits-in-page/pagination-4      15.22µ ±  12%    16.62µ ±  11%        ~ (p=0.259 n=7)
List/sqlite-overflows-page/all-4           15.40µ ±   5%    15.86µ ±   3%        ~ (p=0.165 n=7)
List/sqlite-overflows-page/pagination-4    19.32µ ±   2%    19.43µ ±   3%        ~ (p=0.902 n=7)
List/dqlite-tiny/all-4                     2.046µ ±   5%    2.049µ ±   8%        ~ (p=0.710 n=7)
List/dqlite-tiny/pagination-4              3.156µ ±   8%    3.123µ ±   4%        ~ (p=0.383 n=7)
List/dqlite-fits-in-page/all-4             5.538µ ±   1%    5.553µ ±   3%        ~ (p=0.332 n=7)
List/dqlite-fits-in-page/pagination-4      11.80µ ±   4%    12.00µ ±   3%        ~ (p=0.535 n=7)
List/dqlite-overflows-page/all-4           18.58µ ±   3%    18.73µ ±   3%        ~ (p=0.165 n=7)
List/dqlite-overflows-page/pagination-4    23.03µ ±   4%    23.09µ ±   1%        ~ (p=0.805 n=7)
Update/sqlite/1-workers-4                  492.0µ ±   4%    492.6µ ±   2%        ~ (p=1.000 n=7)
Update/sqlite/4-workers-4                  464.9µ ±   6%    471.7µ ±   7%        ~ (p=0.456 n=7)
Update/sqlite/16-workers-4                 428.7µ ±  13%    430.5µ ±   7%        ~ (p=0.902 n=7)
Update/sqlite/64-workers-4                 467.9µ ± 100%    456.0µ ±  47%        ~ (p=0.620 n=7)
Update/sqlite/128-workers-4                1.775m ± 154%    1.756m ±  52%        ~ (p=0.456 n=7)
Update/dqlite/1-workers-4                  996.4µ ±   6%   1010.4µ ±   4%        ~ (p=0.710 n=7)
Update/dqlite/4-workers-4                  897.1µ ±   3%    876.8µ ±   4%        ~ (p=0.259 n=7)
Update/dqlite/16-workers-4                 870.9µ ±   5%    869.9µ ±   4%        ~ (p=0.805 n=7)
Update/dqlite/64-workers-4                 847.3µ ±   6%    892.0µ ±   2%   +5.28% (p=0.017 n=7)
Update/dqlite/128-workers-4                841.6µ ±   6%    848.8µ ±   9%        ~ (p=1.000 n=7)
geomean                                    188.2µ           181.9µ          -3.38%

                                        │        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.21 ±  1%     12.22 ±  1%        ~ (p=0.929 n=7)
Compaction/dqlite-4                         12.18 ±  1%     12.30 ±  2%        ~ (p=0.066 n=7)
Create/sqlite/1-workers-4                   13.89 ±  0%     13.90 ±  0%        ~ (p=0.075 n=7)
Create/sqlite/4-workers-4                   12.73 ±  3%     12.42 ±  3%   -2.44% (p=0.037 n=7)
Create/sqlite/16-workers-4                  10.50 ±  9%     10.49 ±  7%        ~ (p=0.710 n=7)
Create/sqlite/64-workers-4                  9.168 ±  7%     8.955 ±  4%        ~ (p=0.318 n=7)
Create/sqlite/128-workers-4                 7.557 ± 37%     8.056 ±  6%        ~ (p=0.318 n=7)
Create/dqlite/1-workers-4                   13.45 ±  1%     13.44 ±  1%        ~ (p=0.828 n=7)
Create/dqlite/4-workers-4                   11.14 ±  2%     11.10 ±  1%        ~ (p=0.515 n=7)
Create/dqlite/16-workers-4                  11.17 ±  2%     11.19 ±  1%        ~ (p=0.642 n=7)
Create/dqlite/64-workers-4                  11.21 ±  2%     11.27 ±  2%        ~ (p=0.077 n=7)
Create/dqlite/128-workers-4                 11.18 ±  2%     11.22 ±  1%        ~ (p=0.518 n=7)
Delete/sqlite/1-workers-4                   16.22 ±  0%     16.23 ±  0%        ~ (p=0.895 n=7)
Delete/sqlite/4-workers-4                   14.65 ±  3%     14.54 ±  2%        ~ (p=0.515 n=7)
Delete/sqlite/16-workers-4                  12.24 ±  4%     11.74 ±  7%        ~ (p=0.057 n=7)
Delete/sqlite/64-workers-4                  10.07 ± 12%     10.19 ±  8%        ~ (p=0.620 n=7)
Delete/sqlite/128-workers-4                 9.580 ±  5%     9.578 ±  7%        ~ (p=0.620 n=7)
Delete/dqlite/1-workers-4                   15.95 ±  2%     15.85 ±  2%        ~ (p=0.689 n=7)
Delete/dqlite/4-workers-4                   13.54 ±  1%     13.56 ±  1%        ~ (p=1.000 n=7)
Delete/dqlite/16-workers-4                  13.54 ±  1%     13.58 ±  1%        ~ (p=0.332 n=7)
Delete/dqlite/64-workers-4                  13.51 ±  1%     13.61 ±  1%        ~ (p=0.091 n=7)
Delete/dqlite/128-workers-4                 13.51 ±  1%     13.62 ±  2%        ~ (p=0.079 n=7)
Get/sqlite-4                                14.96 ±  0%     14.96 ±  0%        ~ (p=0.788 n=7)
Get/dqlite-4                                11.98 ±  0%     11.96 ±  0%        ~ (p=0.389 n=7)
List/sqlite-tiny/all-4                     190.9m ±  0%    191.1m ±  0%        ~ (p=0.779 n=7)
List/sqlite-tiny/pagination-4               1.124 ±  3%     1.125 ±  3%        ~ (p=0.883 n=7)
List/sqlite-fits-in-page/all-4             164.1m ± 59%    163.8m ± 59%        ~ (p=0.246 n=7)
List/sqlite-fits-in-page/pagination-4      955.9m ±  3%    964.1m ±  1%        ~ (p=0.097 n=7)
List/sqlite-overflows-page/all-4           177.5m ±  5%    177.5m ±  5%        ~ (p=0.290 n=7)
List/sqlite-overflows-page/pagination-4     1.065 ±  1%     1.065 ±  2%        ~ (p=1.000 n=7)
List/dqlite-tiny/all-4                     190.4m ±  0%    190.4m ±  1%        ~ (p=0.139 n=7)
List/dqlite-tiny/pagination-4               1.124 ±  0%     1.123 ±  3%        ~ (p=0.160 n=7)
List/dqlite-fits-in-page/all-4             260.5m ± 37%    164.1m ±  0%  -37.01% (p=0.048 n=7)
List/dqlite-fits-in-page/pagination-4      955.2m ±  3%    954.8m ±  0%        ~ (p=0.978 n=7)
List/dqlite-overflows-page/all-4           184.6m ±  0%    184.7m ±  0%        ~ (p=0.291 n=7)
List/dqlite-overflows-page/pagination-4     1.073 ±  0%     1.073 ±  0%        ~ (p=1.000 n=7)
Update/sqlite/1-workers-4                   15.82 ±  0%     15.82 ±  0%        ~ (p=0.588 n=7)
Update/sqlite/4-workers-4                   14.66 ±  2%     14.68 ±  3%        ~ (p=0.829 n=7)
Update/sqlite/16-workers-4                  12.59 ±  7%     12.79 ±  4%        ~ (p=0.594 n=7)
Update/sqlite/64-workers-4                  11.15 ±  5%     11.28 ±  6%        ~ (p=0.165 n=7)
Update/sqlite/128-workers-4                 9.431 ± 22%     9.548 ± 16%        ~ (p=0.805 n=7)
Update/dqlite/1-workers-4                   15.54 ±  2%     15.38 ±  1%   -1.03% (p=0.017 n=7)
Update/dqlite/4-workers-4                   13.04 ±  1%     13.05 ±  1%        ~ (p=0.433 n=7)
Update/dqlite/16-workers-4                  13.09 ±  1%     13.08 ±  1%        ~ (p=0.103 n=7)
Update/dqlite/64-workers-4                  13.02 ±  1%     12.96 ±  1%        ~ (p=0.070 n=7)
Update/dqlite/128-workers-4                 12.91 ±  1%     12.97 ±  1%        ~ (p=0.091 n=7)
geomean                                     5.215           5.168         -0.90%

                                        │     Before     │                 After                  │
                                        │ page-writes/op │ page-writes/op  vs base                │
Compaction/sqlite-4                        190.9m ± 0%        190.9m ± 0%       ~ (p=0.981 n=7)
Compaction/dqlite-4                        188.1m ± 1%        188.2m ± 1%       ~ (p=0.684 n=7)
Create/sqlite/1-workers-4                   4.360 ± 0%         4.363 ± 0%  +0.07% (p=0.047 n=7)
Create/sqlite/4-workers-4                   4.326 ± 1%         4.334 ± 1%       ~ (p=0.395 n=7)
Create/sqlite/16-workers-4                  4.291 ± 1%         4.298 ± 1%       ~ (p=0.454 n=7)
Create/sqlite/64-workers-4                  4.243 ± 2%         4.271 ± 1%  +0.66% (p=0.048 n=7)
Create/sqlite/128-workers-4                 4.061 ± 5%         4.100 ± 1%       ~ (p=0.435 n=7)
Create/dqlite/1-workers-4                   4.245 ± 1%         4.261 ± 1%       ~ (p=0.154 n=7)
Create/dqlite/4-workers-4                   4.300 ± 0%         4.301 ± 0%       ~ (p=0.463 n=7)
Create/dqlite/16-workers-4                  4.298 ± 0%         4.312 ± 1%       ~ (p=0.078 n=7)
Create/dqlite/64-workers-4                  4.285 ± 1%         4.306 ± 0%  +0.49% (p=0.026 n=7)
Create/dqlite/128-workers-4                 4.297 ± 0%         4.309 ± 0%  +0.28% (p=0.027 n=7)
Delete/sqlite/1-workers-4                   4.386 ± 0%         4.390 ± 0%       ~ (p=0.227 n=7)
Delete/sqlite/4-workers-4                   4.389 ± 0%         4.393 ± 0%       ~ (p=0.734 n=7)
Delete/sqlite/16-workers-4                  4.357 ± 1%         4.367 ± 1%       ~ (p=0.318 n=7)
Delete/sqlite/64-workers-4                  4.363 ± 3%         4.364 ± 2%       ~ (p=0.645 n=7)
Delete/sqlite/128-workers-4                 4.321 ± 2%         4.370 ± 1%  +1.13% (p=0.041 n=7)
Delete/dqlite/1-workers-4                   4.364 ± 1%         4.366 ± 1%       ~ (p=0.646 n=7)
Delete/dqlite/4-workers-4                   4.382 ± 0%         4.386 ± 1%       ~ (p=0.120 n=7)
Delete/dqlite/16-workers-4                  4.355 ± 0%         4.369 ± 0%       ~ (p=0.135 n=7)
Delete/dqlite/64-workers-4                  4.349 ± 1%         4.356 ± 1%       ~ (p=0.515 n=7)
Delete/dqlite/128-workers-4                 4.349 ± 1%         4.354 ± 1%       ~ (p=0.710 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.236 ± 0%         4.236 ± 0%       ~ (p=1.000 n=7)
Update/sqlite/4-workers-4                   4.319 ± 1%         4.324 ± 1%       ~ (p=0.509 n=7)
Update/sqlite/16-workers-4                  4.309 ± 0%         4.302 ± 1%       ~ (p=0.160 n=7)
Update/sqlite/64-workers-4                  4.305 ± 1%         4.307 ± 1%       ~ (p=0.732 n=7)
Update/sqlite/128-workers-4                 4.134 ± 3%         4.192 ± 3%       ~ (p=0.318 n=7)
Update/dqlite/1-workers-4                   4.198 ± 0%         4.201 ± 0%       ~ (p=0.827 n=7)
Update/dqlite/4-workers-4                   4.203 ± 0%         4.218 ± 1%       ~ (p=0.735 n=7)
Update/dqlite/16-workers-4                  4.225 ± 1%         4.216 ± 1%       ~ (p=0.245 n=7)
Update/dqlite/64-workers-4                  4.235 ± 1%         4.232 ± 1%       ~ (p=0.364 n=7)
Update/dqlite/128-workers-4                 4.240 ± 1%         4.239 ± 1%       ~ (p=0.645 n=7)
geomean                                                ²                   +0.16%               ²
¹ all samples are equal
² summaries must be >0 to compute geomean

                                        │     Before     │                After                 │
                                        │ sec-reading/op │ sec-reading/op  vs base              │
Compaction/sqlite-4                         22.40µ ± 72%     22.30µ ± 85%       ~ (p=0.551 n=7)
Compaction/dqlite-4                         34.90µ ±  9%     34.60µ ± 76%       ~ (p=0.259 n=7)
Create/sqlite/1-workers-4                   22.50µ ± 16%     19.10µ ± 36%       ~ (p=0.197 n=7)
Create/sqlite/4-workers-4                   22.30µ ± 17%     21.00µ ± 23%       ~ (p=0.222 n=7)
Create/sqlite/16-workers-4                  20.80µ ± 10%     20.80µ ± 16%       ~ (p=1.000 n=7)
Create/sqlite/64-workers-4                  22.50µ ± 18%     21.60µ ± 42%       ~ (p=0.558 n=7)
Create/sqlite/128-workers-4                 23.80µ ± 57%     23.80µ ± 30%       ~ (p=0.929 n=7)
Create/dqlite/1-workers-4                   9.600µ ± 33%     9.200µ ± 38%       ~ (p=0.644 n=7)
Create/dqlite/4-workers-4                  12.500µ ± 61%     9.000µ ± 51%       ~ (p=0.219 n=7)
Create/dqlite/16-workers-4                  12.30µ ± 65%     11.10µ ± 54%       ~ (p=0.535 n=7)
Create/dqlite/64-workers-4                  9.400µ ± 56%    11.300µ ± 45%       ~ (p=0.535 n=7)
Create/dqlite/128-workers-4                 9.500µ ± 43%    10.600µ ± 36%       ~ (p=1.000 n=7)
Delete/sqlite/1-workers-4                   34.80µ ± 20%     34.50µ ± 20%       ~ (p=0.917 n=7)
Delete/sqlite/4-workers-4                   30.90µ ± 18%     33.80µ ± 17%       ~ (p=0.383 n=7)
Delete/sqlite/16-workers-4                  33.70µ ± 18%     32.20µ ± 15%       ~ (p=0.401 n=7)
Delete/sqlite/64-workers-4                  34.50µ ± 23%     33.70µ ± 39%       ~ (p=0.365 n=7)
Delete/sqlite/128-workers-4                 38.70µ ± 20%     35.40µ ± 45%       ~ (p=0.513 n=7)
Delete/dqlite/1-workers-4                   12.30µ ± 33%     13.50µ ± 34%       ~ (p=0.555 n=7)
Delete/dqlite/4-workers-4                   15.00µ ± 30%     15.60µ ±  9%       ~ (p=0.620 n=7)
Delete/dqlite/16-workers-4                  12.30µ ± 88%     14.40µ ± 30%       ~ (p=0.515 n=7)
Delete/dqlite/64-workers-4                  14.20µ ± 77%     13.80µ ± 31%       ~ (p=0.436 n=7)
Delete/dqlite/128-workers-4                 12.60µ ± 28%     15.50µ ± 41%       ~ (p=0.259 n=7)
Get/sqlite-4                                58.10µ ±  7%     59.10µ ±  7%       ~ (p=0.596 n=7)
Get/dqlite-4                                25.90µ ± 10%     24.10µ ± 35%       ~ (p=0.435 n=7)
List/sqlite-tiny/all-4                      5.400µ ±  9%     5.700µ ± 14%       ~ (p=0.638 n=7)
List/sqlite-tiny/pagination-4               6.300µ ± 60%     6.200µ ± 63%       ~ (p=0.987 n=7)
List/sqlite-fits-in-page/all-4              11.80µ ±  3%     11.60µ ±  9%       ~ (p=0.598 n=7)
List/sqlite-fits-in-page/pagination-4       21.70µ ± 47%     31.10µ ± 34%       ~ (p=0.271 n=7)
List/sqlite-overflows-page/all-4            11.50µ ± 29%     12.20µ ± 39%  +6.09% (p=0.031 n=7)
List/sqlite-overflows-page/pagination-4     15.10µ ±  3%     15.30µ ± 18%       ~ (p=0.780 n=7)
List/dqlite-tiny/all-4                      2.600µ ± 23%     3.200µ ± 34%       ~ (p=0.464 n=7)
List/dqlite-tiny/pagination-4               3.400µ ± 24%     3.100µ ± 26%       ~ (p=0.117 n=7)
List/dqlite-fits-in-page/all-4              8.300µ ± 12%     8.600µ ± 15%       ~ (p=0.834 n=7)
List/dqlite-fits-in-page/pagination-4       16.40µ ± 22%     16.80µ ± 21%       ~ (p=1.000 n=7)
List/dqlite-overflows-page/all-4            29.80µ ±  3%     30.50µ ±  3%       ~ (p=0.205 n=7)
List/dqlite-overflows-page/pagination-4     37.00µ ±  6%     37.60µ ±  7%       ~ (p=0.476 n=7)
Update/sqlite/1-workers-4                   24.50µ ± 29%     21.40µ ± 18%       ~ (p=0.402 n=7)
Update/sqlite/4-workers-4                   19.90µ ± 20%     22.10µ ± 25%       ~ (p=0.220 n=7)
Update/sqlite/16-workers-4                  21.60µ ± 17%     20.30µ ± 26%       ~ (p=0.154 n=7)
Update/sqlite/64-workers-4                  24.40µ ± 23%     23.00µ ± 12%       ~ (p=0.535 n=7)
Update/sqlite/128-workers-4                 26.20µ ± 52%     29.70µ ± 15%       ~ (p=0.154 n=7)
Update/dqlite/1-workers-4                  10.800µ ± 32%     7.300µ ± 66%       ~ (p=0.119 n=7)
Update/dqlite/4-workers-4                   11.50µ ± 17%     10.60µ ± 40%       ~ (p=0.921 n=7)
Update/dqlite/16-workers-4                  11.20µ ± 38%     10.30µ ± 38%       ~ (p=0.195 n=7)
Update/dqlite/64-workers-4                  12.10µ ± 40%     10.10µ ± 74%       ~ (p=0.710 n=7)
Update/dqlite/128-workers-4                 12.60µ ± 25%     11.50µ ± 27%       ~ (p=0.805 n=7)
geomean                                     16.24µ           16.13µ        -0.67%

                                        │     Before     │                  After                  │
                                        │ sec-writing/op │ sec-writing/op  vs base                 │
Compaction/sqlite-4                       9.300µ ±  3%       9.100µ ±  3%   -2.15% (p=0.027 n=7)
Compaction/dqlite-4                       7.200µ ±  7%       7.500µ ± 16%        ~ (p=0.733 n=7)
Create/sqlite/1-workers-4                 256.9µ ±  5%       240.9µ ±  4%   -6.23% (p=0.001 n=7)
Create/sqlite/4-workers-4                 1.421m ±  9%       1.395m ±  6%        ~ (p=0.805 n=7)
Create/sqlite/16-workers-4                5.220m ±  5%       4.970m ± 11%        ~ (p=0.259 n=7)
Create/sqlite/64-workers-4                18.06m ± 25%       17.05m ±  6%        ~ (p=0.119 n=7)
Create/sqlite/128-workers-4               59.63m ± 47%       45.17m ± 32%        ~ (p=0.073 n=7)
Create/dqlite/1-workers-4                 34.50µ ± 14%       34.20µ ± 25%        ~ (p=0.902 n=7)
Create/dqlite/4-workers-4                 35.30µ ± 30%       39.50µ ± 22%        ~ (p=0.805 n=7)
Create/dqlite/16-workers-4                33.20µ ± 38%       35.10µ ± 23%        ~ (p=0.620 n=7)
Create/dqlite/64-workers-4                41.00µ ± 31%       40.80µ ± 44%        ~ (p=0.620 n=7)
Create/dqlite/128-workers-4               36.90µ ± 20%       40.40µ ±  9%        ~ (p=0.197 n=7)
Delete/sqlite/1-workers-4                 252.5µ ±  5%       208.2µ ±  8%  -17.54% (p=0.001 n=7)
Delete/sqlite/4-workers-4                 1.389m ± 22%       1.301m ±  6%        ~ (p=0.105 n=7)
Delete/sqlite/16-workers-4                4.974m ±  9%       4.960m ±  6%        ~ (p=0.805 n=7)
Delete/sqlite/64-workers-4                17.76m ± 57%       17.18m ± 77%        ~ (p=0.559 n=7)
Delete/sqlite/128-workers-4               36.21m ± 45%       34.22m ± 51%        ~ (p=0.456 n=7)
Delete/dqlite/1-workers-4                 35.00µ ± 16%       34.60µ ± 12%        ~ (p=0.902 n=7)
Delete/dqlite/4-workers-4                 38.90µ ± 15%       43.90µ ± 22%        ~ (p=0.128 n=7)
Delete/dqlite/16-workers-4                42.50µ ± 22%       41.90µ ± 12%        ~ (p=0.710 n=7)
Delete/dqlite/64-workers-4                36.60µ ± 32%       42.30µ ± 24%        ~ (p=0.401 n=7)
Delete/dqlite/128-workers-4               36.40µ ± 21%       40.70µ ± 12%        ~ (p=0.165 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                 244.8µ ±  9%       257.5µ ±  4%        ~ (p=0.053 n=7)
Update/sqlite/4-workers-4                 1.426m ± 16%       1.404m ± 11%        ~ (p=0.902 n=7)
Update/sqlite/16-workers-4                5.149m ±  7%       5.097m ±  8%        ~ (p=0.535 n=7)
Update/sqlite/64-workers-4                17.86m ± 18%       17.37m ±  8%        ~ (p=0.976 n=7)
Update/sqlite/128-workers-4               62.05m ± 45%       52.32m ± 23%        ~ (p=0.318 n=7)
Update/dqlite/1-workers-4                 31.50µ ± 26%       35.30µ ± 26%        ~ (p=0.620 n=7)
Update/dqlite/4-workers-4                 37.70µ ± 28%       33.30µ ± 17%        ~ (p=0.068 n=7)
Update/dqlite/16-workers-4                36.00µ ± 21%       33.90µ ± 36%        ~ (p=0.902 n=7)
Update/dqlite/64-workers-4                36.50µ ± 19%       34.90µ ± 30%        ~ (p=0.401 n=7)
Update/dqlite/128-workers-4               39.40µ ± 22%       36.00µ ± 40%        ~ (p=0.175 n=7)
geomean                                                ²                    -1.26%               ²
¹ all samples are equal
² summaries must be >0 to compute geomean

                                        │    Before     │                After                 │
                                        │     B/op      │      B/op       vs base              │
Compaction/sqlite-4                       2.102Ki ± 45%    2.066Ki ± 53%       ~ (p=0.128 n=7)
Compaction/dqlite-4                       11.37Ki ± 13%    11.37Ki ± 84%       ~ (p=0.736 n=7)
Create/sqlite/1-workers-4                 20.24Ki ±  0%    20.23Ki ±  0%       ~ (p=0.156 n=7)
Create/sqlite/4-workers-4                 20.24Ki ±  0%    20.22Ki ±  0%  -0.10% (p=0.001 n=7)
Create/sqlite/16-workers-4                20.21Ki ±  0%    20.21Ki ±  0%       ~ (p=0.875 n=7)
Create/sqlite/64-workers-4                20.28Ki ±  1%    20.22Ki ±  0%  -0.26% (p=0.005 n=7)
Create/sqlite/128-workers-4               20.77Ki ±  5%    20.63Ki ±  1%       ~ (p=0.175 n=7)
Create/dqlite/1-workers-4                 19.51Ki ±  0%    19.50Ki ±  0%       ~ (p=0.136 n=7)
Create/dqlite/4-workers-4                 19.48Ki ±  0%    19.48Ki ±  0%       ~ (p=0.456 n=7)
Create/dqlite/16-workers-4                19.49Ki ±  2%    19.48Ki ±  0%       ~ (p=0.239 n=7)
Create/dqlite/64-workers-4                19.51Ki ±  0%    19.53Ki ±  0%       ~ (p=0.777 n=7)
Create/dqlite/128-workers-4               19.52Ki ±  0%    19.49Ki ±  0%  -0.16% (p=0.001 n=7)
Delete/sqlite/1-workers-4                 22.67Ki ±  0%    22.65Ki ±  0%  -0.08% (p=0.001 n=7)
Delete/sqlite/4-workers-4                 22.65Ki ±  0%    22.65Ki ±  0%       ~ (p=0.777 n=7)
Delete/sqlite/16-workers-4                22.64Ki ±  0%    22.62Ki ±  0%  -0.09% (p=0.048 n=7)
Delete/sqlite/64-workers-4                22.65Ki ±  1%    22.67Ki ±  1%       ~ (p=1.000 n=7)
Delete/sqlite/128-workers-4               22.86Ki ±  2%    22.79Ki ±  2%       ~ (p=0.259 n=7)
Delete/dqlite/1-workers-4                 21.76Ki ±  0%    21.75Ki ±  0%  -0.06% (p=0.024 n=7)
Delete/dqlite/4-workers-4                 21.73Ki ±  0%    21.72Ki ±  0%       ~ (p=0.197 n=7)
Delete/dqlite/16-workers-4                21.74Ki ±  0%    21.73Ki ±  0%       ~ (p=0.092 n=7)
Delete/dqlite/64-workers-4                21.75Ki ±  0%    21.75Ki ±  0%       ~ (p=0.620 n=7)
Delete/dqlite/128-workers-4               21.77Ki ±  0%    21.76Ki ±  0%       ~ (p=0.301 n=7)
Get/sqlite-4                              22.83Ki ±  0%    22.84Ki ±  0%       ~ (p=0.363 n=7)
Get/dqlite-4                              21.79Ki ±  0%    21.79Ki ±  0%       ~ (p=0.192 n=7)
List/sqlite-tiny/all-4                    1.099Ki ±  3%    1.117Ki ±  6%       ~ (p=0.710 n=7)
List/sqlite-tiny/pagination-4              1032.0 ± 37%     1010.0 ± 37%       ~ (p=0.805 n=7)
List/sqlite-fits-in-page/all-4            7.447Ki ±  7%    7.339Ki ±  6%       ~ (p=0.247 n=7)
List/sqlite-fits-in-page/pagination-4     7.485Ki ± 41%   10.444Ki ± 30%       ~ (p=0.128 n=7)
List/sqlite-overflows-page/all-4          20.48Ki ± 12%    20.50Ki ± 12%       ~ (p=0.158 n=7)
List/sqlite-overflows-page/pagination-4   18.86Ki ± 12%    18.03Ki ± 21%       ~ (p=0.874 n=7)
List/dqlite-tiny/all-4                      960.0 ± 12%      950.0 ±  6%       ~ (p=0.066 n=7)
List/dqlite-tiny/pagination-4               828.0 ± 10%      786.0 ± 12%       ~ (p=0.318 n=7)
List/dqlite-fits-in-page/all-4            6.004Ki ±  1%    5.987Ki ±  8%       ~ (p=0.558 n=7)
List/dqlite-fits-in-page/pagination-4     5.763Ki ±  5%    5.630Ki ± 10%       ~ (p=0.620 n=7)
List/dqlite-overflows-page/all-4          30.52Ki ±  9%    30.71Ki ±  9%       ~ (p=0.259 n=7)
List/dqlite-overflows-page/pagination-4   31.70Ki ±  4%    31.75Ki ±  1%       ~ (p=0.902 n=7)
Update/sqlite/1-workers-4                 21.39Ki ±  0%    21.39Ki ±  0%       ~ (p=0.734 n=7)
Update/sqlite/4-workers-4                 21.39Ki ±  0%    21.39Ki ±  0%       ~ (p=0.928 n=7)
Update/sqlite/16-workers-4                21.38Ki ±  0%    21.38Ki ±  0%       ~ (p=0.645 n=7)
Update/sqlite/64-workers-4                21.41Ki ±  1%    21.41Ki ±  0%       ~ (p=0.620 n=7)
Update/sqlite/128-workers-4               21.70Ki ±  2%    21.65Ki ±  1%       ~ (p=0.456 n=7)
Update/dqlite/1-workers-4                 20.60Ki ±  0%    20.61Ki ±  0%       ~ (p=0.597 n=7)
Update/dqlite/4-workers-4                 20.58Ki ±  0%    20.57Ki ±  0%       ~ (p=0.119 n=7)
Update/dqlite/16-workers-4                20.58Ki ±  0%    20.58Ki ±  0%       ~ (p=0.397 n=7)
Update/dqlite/64-workers-4                20.56Ki ±  0%    20.57Ki ±  0%       ~ (p=0.165 n=7)
Update/dqlite/128-workers-4               20.57Ki ±  0%    20.53Ki ±  0%       ~ (p=0.221 n=7)
geomean                                   13.87Ki          13.92Ki        +0.33%

                                        │   Before    │                After                │
                                        │  allocs/op  │  allocs/op   vs base                │
Compaction/sqlite-4                       45.00 ± 47%   44.00 ± 55%       ~ (p=0.202 n=7)
Compaction/dqlite-4                       272.0 ± 12%   272.0 ± 85%       ~ (p=0.679 n=7)
Create/sqlite/1-workers-4                 393.0 ±  0%   393.0 ±  0%       ~ (p=1.000 n=7) ¹
Create/sqlite/4-workers-4                 393.0 ±  0%   393.0 ±  0%       ~ (p=1.000 n=7) ¹
Create/sqlite/16-workers-4                393.0 ±  0%   393.0 ±  0%       ~ (p=1.000 n=7)
Create/sqlite/64-workers-4                393.0 ±  1%   393.0 ±  0%       ~ (p=0.269 n=7)
Create/sqlite/128-workers-4               398.0 ±  2%   397.0 ±  1%       ~ (p=0.288 n=7)
Create/dqlite/1-workers-4                 363.0 ±  0%   363.0 ±  0%       ~ (p=1.000 n=7) ¹
Create/dqlite/4-workers-4                 363.0 ±  0%   363.0 ±  0%       ~ (p=1.000 n=7) ¹
Create/dqlite/16-workers-4                363.0 ±  2%   363.0 ±  0%       ~ (p=1.000 n=7)
Create/dqlite/64-workers-4                363.0 ±  0%   363.0 ±  0%       ~ (p=1.000 n=7) ¹
Create/dqlite/128-workers-4               362.0 ±  0%   362.0 ±  0%       ~ (p=1.000 n=7)
Delete/sqlite/1-workers-4                 424.0 ±  0%   424.0 ±  0%       ~ (p=1.000 n=7) ¹
Delete/sqlite/4-workers-4                 424.0 ±  0%   424.0 ±  0%       ~ (p=1.000 n=7) ¹
Delete/sqlite/16-workers-4                424.0 ±  0%   423.0 ±  0%       ~ (p=0.286 n=7)
Delete/sqlite/64-workers-4                423.0 ±  0%   423.0 ±  0%       ~ (p=0.981 n=7)
Delete/sqlite/128-workers-4               426.0 ±  1%   424.0 ±  0%       ~ (p=0.100 n=7)
Delete/dqlite/1-workers-4                 392.0 ±  0%   393.0 ±  0%  +0.26% (p=0.029 n=7)
Delete/dqlite/4-workers-4                 392.0 ±  0%   392.0 ±  0%       ~ (p=1.000 n=7)
Delete/dqlite/16-workers-4                392.0 ±  0%   392.0 ±  0%       ~ (p=0.192 n=7)
Delete/dqlite/64-workers-4                392.0 ±  0%   392.0 ±  0%       ~ (p=1.000 n=7) ¹
Delete/dqlite/128-workers-4               392.0 ±  0%   392.0 ±  0%       ~ (p=1.000 n=7) ¹
Get/sqlite-4                              410.0 ±  0%   410.0 ±  0%       ~ (p=1.000 n=7) ¹
Get/dqlite-4                              388.0 ±  0%   388.0 ±  0%       ~ (p=1.000 n=7) ¹
List/sqlite-tiny/all-4                    14.00 ±  7%   14.00 ±  7%       ~ (p=0.700 n=7)
List/sqlite-tiny/pagination-4             12.00 ± 67%   12.00 ± 67%       ~ (p=1.000 n=7)
List/sqlite-fits-in-page/all-4            20.00 ±  0%   20.00 ± 10%       ~ (p=0.192 n=7)
List/sqlite-fits-in-page/pagination-4     22.00 ± 68%   37.00 ± 46%       ~ (p=0.232 n=7)
List/sqlite-overflows-page/all-4          8.000 ± 25%   8.000 ± 38%       ~ (p=0.437 n=7)
List/sqlite-overflows-page/pagination-4   8.000 ± 12%   8.000 ± 25%       ~ (p=0.514 n=7)
List/dqlite-tiny/all-4                    12.00 ±  8%   12.00 ± 17%       ~ (p=1.000 n=7)
List/dqlite-tiny/pagination-4             9.000 ± 33%   8.000 ± 25%       ~ (p=0.092 n=7)
List/dqlite-fits-in-page/all-4            18.00 ±  0%   18.00 ±  6%       ~ (p=1.000 n=7)
List/dqlite-fits-in-page/pagination-4     18.00 ± 17%   17.00 ± 18%       ~ (p=0.810 n=7)
List/dqlite-overflows-page/all-4          31.00 ±  3%   32.00 ±  3%       ~ (p=0.217 n=7)
List/dqlite-overflows-page/pagination-4   35.00 ±  6%   34.00 ±  3%       ~ (p=0.266 n=7)
Update/sqlite/1-workers-4                 400.0 ±  0%   400.0 ±  0%       ~ (p=1.000 n=7) ¹
Update/sqlite/4-workers-4                 400.0 ±  0%   400.0 ±  0%       ~ (p=1.000 n=7) ¹
Update/sqlite/16-workers-4                400.0 ±  0%   400.0 ±  0%       ~ (p=0.192 n=7)
Update/sqlite/64-workers-4                400.0 ±  0%   400.0 ±  1%       ~ (p=1.000 n=7)
Update/sqlite/128-workers-4               404.0 ±  1%   403.0 ±  0%       ~ (p=0.502 n=7)
Update/dqlite/1-workers-4                 370.0 ±  0%   370.0 ±  0%       ~ (p=1.000 n=7) ¹
Update/dqlite/4-workers-4                 370.0 ±  0%   370.0 ±  0%       ~ (p=1.000 n=7) ¹
Update/dqlite/16-workers-4                369.0 ±  0%   369.0 ±  0%       ~ (p=0.559 n=7)
Update/dqlite/64-workers-4                369.0 ±  0%   369.0 ±  0%       ~ (p=1.000 n=7)
Update/dqlite/128-workers-4               368.0 ±  0%   368.0 ±  0%       ~ (p=1.000 n=7) ¹
geomean                                   159.1         160.2        +0.69%
¹ all samples are equal

                                        │        Before         │                    After                    │
                                        │ network-bytes-read/op │ network-bytes-read/op  vs base              │
Compaction/dqlite-4                               4.176Ki ± 13%           4.176Ki ± 85%       ~ (p=0.624 n=7)
Create/dqlite/1-workers-4                           241.2 ±  0%             241.3 ±  0%       ~ (p=0.139 n=7)
Create/dqlite/4-workers-4                           242.0 ±  0%             242.0 ±  0%       ~ (p=0.995 n=7)
Create/dqlite/16-workers-4                          242.0 ±  6%             242.4 ±  0%  +0.17% (p=0.020 n=7)
Create/dqlite/64-workers-4                          241.9 ±  0%             242.6 ±  0%  +0.29% (p=0.004 n=7)
Create/dqlite/128-workers-4                         242.0 ±  0%             242.5 ±  0%  +0.21% (p=0.001 n=7)
Delete/dqlite/1-workers-4                           717.7 ±  0%             718.8 ±  0%  +0.15% (p=0.026 n=7)
Delete/dqlite/4-workers-4                           719.8 ±  0%             720.3 ±  0%       ~ (p=0.333 n=7)
Delete/dqlite/16-workers-4                          719.6 ±  0%             720.1 ±  0%  +0.07% (p=0.043 n=7)
Delete/dqlite/64-workers-4                          719.6 ±  0%             720.0 ±  0%       ~ (p=0.974 n=7)
Delete/dqlite/128-workers-4                         719.5 ±  0%             720.1 ±  0%       ~ (p=0.157 n=7)
Get/dqlite-4                                        996.2 ±  0%             996.2 ±  0%       ~ (p=0.192 n=7)
List/dqlite-tiny/all-4                              168.0 ± 11%             166.3 ± 14%       ~ (p=0.052 n=7)
List/dqlite-tiny/pagination-4                       124.3 ± 37%             115.4 ± 23%       ~ (p=0.165 n=7)
List/dqlite-fits-in-page/all-4                    1.332Ki ±  1%           1.330Ki ±  5%       ~ (p=0.831 n=7)
List/dqlite-fits-in-page/pagination-4             1.315Ki ± 15%           1.258Ki ± 15%       ~ (p=1.000 n=7)
List/dqlite-overflows-page/all-4                  7.134Ki ±  3%           7.220Ki ±  5%       ~ (p=0.259 n=7)
List/dqlite-overflows-page/pagination-4           8.005Ki ±  5%           7.919Ki ±  3%       ~ (p=0.535 n=7)
Update/dqlite/1-workers-4                           263.0 ±  0%             263.0 ±  0%       ~ (p=1.000 n=7)
Update/dqlite/4-workers-4                           263.0 ±  0%             263.1 ±  0%       ~ (p=0.298 n=7)
Update/dqlite/16-workers-4                          263.0 ±  0%             262.9 ±  0%       ~ (p=0.302 n=7)
Update/dqlite/64-workers-4                          262.5 ±  0%             262.3 ±  0%  -0.08% (p=0.012 n=7)
Update/dqlite/128-workers-4                         262.0 ±  0%             261.8 ±  0%       ~ (p=0.554 n=7)
geomean                                             564.6                   561.7        -0.52%

                                        │          Before          │                     After                      │
                                        │ network-bytes-written/op │ network-bytes-written/op  vs base              │
Compaction/dqlite-4                                    5.431 ±  4%                5.426 ± 20%       ~ (p=0.318 n=7)
Create/dqlite/1-workers-4                              115.7 ±  1%                115.9 ±  1%       ~ (p=0.093 n=7)
Create/dqlite/4-workers-4                              117.2 ±  1%                117.4 ±  1%       ~ (p=0.555 n=7)
Create/dqlite/16-workers-4                             117.0 ±  4%                117.8 ±  1%  +0.68% (p=0.024 n=7)
Create/dqlite/64-workers-4                             116.9 ±  1%                118.2 ±  1%  +1.11% (p=0.005 n=7)
Create/dqlite/128-workers-4                            117.2 ±  1%                118.0 ±  1%  +0.68% (p=0.002 n=7)
Delete/dqlite/1-workers-4                              82.32 ±  1%                82.83 ±  0%  +0.62% (p=0.024 n=7)
Delete/dqlite/4-workers-4                              83.24 ±  1%                83.47 ±  0%       ~ (p=0.333 n=7)
Delete/dqlite/16-workers-4                             83.11 ±  1%                83.36 ±  0%  +0.30% (p=0.037 n=7)
Delete/dqlite/64-workers-4                             83.11 ±  1%                83.31 ±  0%       ~ (p=0.973 n=7)
Delete/dqlite/128-workers-4                            83.10 ±  1%                83.36 ±  0%       ~ (p=0.126 n=7)
Get/dqlite-4                                           88.55 ±  0%                88.54 ±  0%       ~ (p=0.070 n=7)
List/dqlite-tiny/all-4                               0.03576 ± 21%              0.03501 ± 27%  -2.10% (p=0.038 n=7)
List/dqlite-tiny/pagination-4                        0.02317 ± 77%              0.01868 ± 57%       ~ (p=0.165 n=7)
List/dqlite-fits-in-page/all-4                       0.06224 ±  2%              0.06134 ± 10%       ~ (p=0.710 n=7)
List/dqlite-fits-in-page/pagination-4                0.07103 ± 21%              0.07395 ± 22%       ~ (p=0.535 n=7)
List/dqlite-overflows-page/all-4                     0.07971 ±  7%              0.08079 ± 11%       ~ (p=0.383 n=7)
List/dqlite-overflows-page/pagination-4               0.1097 ± 12%               0.1072 ±  4%       ~ (p=0.165 n=7)
Update/dqlite/1-workers-4                              136.8 ±  0%                136.8 ±  0%       ~ (p=0.550 n=7)
Update/dqlite/4-workers-4                              136.7 ±  0%                136.7 ±  0%       ~ (p=1.000 n=7)
Update/dqlite/16-workers-4                             136.8 ±  0%                136.9 ±  0%       ~ (p=0.784 n=7)
Update/dqlite/64-workers-4                             136.6 ±  0%                136.7 ±  0%       ~ (p=0.274 n=7)
Update/dqlite/128-workers-4                            136.3 ±  0%                136.3 ±  0%       ~ (p=0.853 n=7)
geomean                                                13.23                      13.13        -0.76%
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                       17.22µ ±  56%
Compaction/dqlite-4                       57.12µ ±  35%
Create/sqlite/1-workers-4                 473.5µ ±   2%
Create/sqlite/4-workers-4                 451.3µ ±   7%
Create/sqlite/16-workers-4                408.2µ ±   4%
Create/sqlite/64-workers-4                435.6µ ±  10%
Create/sqlite/128-workers-4               1.252m ±  32%
Create/dqlite/1-workers-4                 983.1µ ±   4%
Create/dqlite/4-workers-4                 876.1µ ±   2%
Create/dqlite/16-workers-4                822.0µ ±   9%
Create/dqlite/64-workers-4                835.6µ ±   6%
Create/dqlite/128-workers-4               833.4µ ±   3%
Delete/sqlite/1-workers-4                 444.3µ ±   4%
Delete/sqlite/4-workers-4                 437.9µ ±   2%
Delete/sqlite/16-workers-4                407.9µ ±  12%
Delete/sqlite/64-workers-4                452.8µ ± 343%
Delete/sqlite/128-workers-4               691.8µ ± 171%
Delete/dqlite/1-workers-4                 951.1µ ±   6%
Delete/dqlite/4-workers-4                 839.7µ ±   2%
Delete/dqlite/16-workers-4                846.0µ ±   3%
Delete/dqlite/64-workers-4                847.1µ ±   3%
Delete/dqlite/128-workers-4               864.5µ ±   3%
Get/sqlite-4                              223.9µ ±   1%
Get/dqlite-4                              338.1µ ±   1%
List/sqlite-tiny/all-4                    3.166µ ±   4%
List/sqlite-tiny/pagination-4             4.619µ ±  15%
List/sqlite-fits-in-page/all-4            6.433µ ±   4%
List/sqlite-fits-in-page/pagination-4     16.62µ ±  11%
List/sqlite-overflows-page/all-4          15.86µ ±   3%
List/sqlite-overflows-page/pagination-4   19.43µ ±   3%
List/dqlite-tiny/all-4                    2.049µ ±   8%
List/dqlite-tiny/pagination-4             3.123µ ±   4%
List/dqlite-fits-in-page/all-4            5.553µ ±   3%
List/dqlite-fits-in-page/pagination-4     12.00µ ±   3%
List/dqlite-overflows-page/all-4          18.73µ ±   3%
List/dqlite-overflows-page/pagination-4   23.09µ ±   1%
Update/sqlite/1-workers-4                 492.6µ ±   2%
Update/sqlite/4-workers-4                 471.7µ ±   7%
Update/sqlite/16-workers-4                430.5µ ±   7%
Update/sqlite/64-workers-4                456.0µ ±  47%
Update/sqlite/128-workers-4               1.756m ±  52%
Update/dqlite/1-workers-4                 1.010m ±   4%
Update/dqlite/4-workers-4                 876.8µ ±   4%
Update/dqlite/16-workers-4                869.9µ ±   4%
Update/dqlite/64-workers-4                892.0µ ±   2%
Update/dqlite/128-workers-4               848.8µ ±   9%
geomean                                   181.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.22 ±  1%
Compaction/dqlite-4                         12.30 ±  2%
Create/sqlite/1-workers-4                   13.90 ±  0%
Create/sqlite/4-workers-4                   12.42 ±  3%
Create/sqlite/16-workers-4                  10.49 ±  7%
Create/sqlite/64-workers-4                  8.955 ±  4%
Create/sqlite/128-workers-4                 8.056 ±  6%
Create/dqlite/1-workers-4                   13.44 ±  1%
Create/dqlite/4-workers-4                   11.10 ±  1%
Create/dqlite/16-workers-4                  11.19 ±  1%
Create/dqlite/64-workers-4                  11.27 ±  2%
Create/dqlite/128-workers-4                 11.22 ±  1%
Delete/sqlite/1-workers-4                   16.23 ±  0%
Delete/sqlite/4-workers-4                   14.54 ±  2%
Delete/sqlite/16-workers-4                  11.74 ±  7%
Delete/sqlite/64-workers-4                  10.19 ±  8%
Delete/sqlite/128-workers-4                 9.578 ±  7%
Delete/dqlite/1-workers-4                   15.85 ±  2%
Delete/dqlite/4-workers-4                   13.56 ±  1%
Delete/dqlite/16-workers-4                  13.58 ±  1%
Delete/dqlite/64-workers-4                  13.61 ±  1%
Delete/dqlite/128-workers-4                 13.62 ±  2%
Get/sqlite-4                                14.96 ±  0%
Get/dqlite-4                                11.96 ±  0%
List/sqlite-tiny/all-4                     191.1m ±  0%
List/sqlite-tiny/pagination-4               1.125 ±  3%
List/sqlite-fits-in-page/all-4             163.8m ± 59%
List/sqlite-fits-in-page/pagination-4      964.1m ±  1%
List/sqlite-overflows-page/all-4           177.5m ±  5%
List/sqlite-overflows-page/pagination-4     1.065 ±  2%
List/dqlite-tiny/all-4                     190.4m ±  1%
List/dqlite-tiny/pagination-4               1.123 ±  3%
List/dqlite-fits-in-page/all-4             164.1m ±  0%
List/dqlite-fits-in-page/pagination-4      954.8m ±  0%
List/dqlite-overflows-page/all-4           184.7m ±  0%
List/dqlite-overflows-page/pagination-4     1.073 ±  0%
Update/sqlite/1-workers-4                   15.82 ±  0%
Update/sqlite/4-workers-4                   14.68 ±  3%
Update/sqlite/16-workers-4                  12.79 ±  4%
Update/sqlite/64-workers-4                  11.28 ±  6%
Update/sqlite/128-workers-4                 9.548 ± 16%
Update/dqlite/1-workers-4                   15.38 ±  1%
Update/dqlite/4-workers-4                   13.05 ±  1%
Update/dqlite/16-workers-4                  13.08 ±  1%
Update/dqlite/64-workers-4                  12.96 ±  1%
Update/dqlite/128-workers-4                 12.97 ±  1%
geomean                                     5.168

                                        │     After      │
                                        │ page-writes/op │
Compaction/sqlite-4                        190.9m ± 0%
Compaction/dqlite-4                        188.2m ± 1%
Create/sqlite/1-workers-4                   4.363 ± 0%
Create/sqlite/4-workers-4                   4.334 ± 1%
Create/sqlite/16-workers-4                  4.298 ± 1%
Create/sqlite/64-workers-4                  4.271 ± 1%
Create/sqlite/128-workers-4                 4.100 ± 1%
Create/dqlite/1-workers-4                   4.261 ± 1%
Create/dqlite/4-workers-4                   4.301 ± 0%
Create/dqlite/16-workers-4                  4.312 ± 1%
Create/dqlite/64-workers-4                  4.306 ± 0%
Create/dqlite/128-workers-4                 4.309 ± 0%
Delete/sqlite/1-workers-4                   4.390 ± 0%
Delete/sqlite/4-workers-4                   4.393 ± 0%
Delete/sqlite/16-workers-4                  4.367 ± 1%
Delete/sqlite/64-workers-4                  4.364 ± 2%
Delete/sqlite/128-workers-4                 4.370 ± 1%
Delete/dqlite/1-workers-4                   4.366 ± 1%
Delete/dqlite/4-workers-4                   4.386 ± 1%
Delete/dqlite/16-workers-4                  4.369 ± 0%
Delete/dqlite/64-workers-4                  4.356 ± 1%
Delete/dqlite/128-workers-4                 4.354 ± 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.236 ± 0%
Update/sqlite/4-workers-4                   4.324 ± 1%
Update/sqlite/16-workers-4                  4.302 ± 1%
Update/sqlite/64-workers-4                  4.307 ± 1%
Update/sqlite/128-workers-4                 4.192 ± 3%
Update/dqlite/1-workers-4                   4.201 ± 0%
Update/dqlite/4-workers-4                   4.218 ± 1%
Update/dqlite/16-workers-4                  4.216 ± 1%
Update/dqlite/64-workers-4                  4.232 ± 1%
Update/dqlite/128-workers-4                 4.239 ± 1%
geomean                                                ¹
¹ summaries must be >0 to compute geomean

                                        │     After      │
                                        │ sec-reading/op │
Compaction/sqlite-4                         22.30µ ± 85%
Compaction/dqlite-4                         34.60µ ± 76%
Create/sqlite/1-workers-4                   19.10µ ± 36%
Create/sqlite/4-workers-4                   21.00µ ± 23%
Create/sqlite/16-workers-4                  20.80µ ± 16%
Create/sqlite/64-workers-4                  21.60µ ± 42%
Create/sqlite/128-workers-4                 23.80µ ± 30%
Create/dqlite/1-workers-4                   9.200µ ± 38%
Create/dqlite/4-workers-4                   9.000µ ± 51%
Create/dqlite/16-workers-4                  11.10µ ± 54%
Create/dqlite/64-workers-4                  11.30µ ± 45%
Create/dqlite/128-workers-4                 10.60µ ± 36%
Delete/sqlite/1-workers-4                   34.50µ ± 20%
Delete/sqlite/4-workers-4                   33.80µ ± 17%
Delete/sqlite/16-workers-4                  32.20µ ± 15%
Delete/sqlite/64-workers-4                  33.70µ ± 39%
Delete/sqlite/128-workers-4                 35.40µ ± 45%
Delete/dqlite/1-workers-4                   13.50µ ± 34%
Delete/dqlite/4-workers-4                   15.60µ ±  9%
Delete/dqlite/16-workers-4                  14.40µ ± 30%
Delete/dqlite/64-workers-4                  13.80µ ± 31%
Delete/dqlite/128-workers-4                 15.50µ ± 41%
Get/sqlite-4                                59.10µ ±  7%
Get/dqlite-4                                24.10µ ± 35%
List/sqlite-tiny/all-4                      5.700µ ± 14%
List/sqlite-tiny/pagination-4               6.200µ ± 63%
List/sqlite-fits-in-page/all-4              11.60µ ±  9%
List/sqlite-fits-in-page/pagination-4       31.10µ ± 34%
List/sqlite-overflows-page/all-4            12.20µ ± 39%
List/sqlite-overflows-page/pagination-4     15.30µ ± 18%
List/dqlite-tiny/all-4                      3.200µ ± 34%
List/dqlite-tiny/pagination-4               3.100µ ± 26%
List/dqlite-fits-in-page/all-4              8.600µ ± 15%
List/dqlite-fits-in-page/pagination-4       16.80µ ± 21%
List/dqlite-overflows-page/all-4            30.50µ ±  3%
List/dqlite-overflows-page/pagination-4     37.60µ ±  7%
Update/sqlite/1-workers-4                   21.40µ ± 18%
Update/sqlite/4-workers-4                   22.10µ ± 25%
Update/sqlite/16-workers-4                  20.30µ ± 26%
Update/sqlite/64-workers-4                  23.00µ ± 12%
Update/sqlite/128-workers-4                 29.70µ ± 15%
Update/dqlite/1-workers-4                   7.300µ ± 66%
Update/dqlite/4-workers-4                   10.60µ ± 40%
Update/dqlite/16-workers-4                  10.30µ ± 38%
Update/dqlite/64-workers-4                  10.10µ ± 74%
Update/dqlite/128-workers-4                 11.50µ ± 27%
geomean                                     16.13µ

                                        │     After      │
                                        │ sec-writing/op │
Compaction/sqlite-4                       9.100µ ±  3%
Compaction/dqlite-4                       7.500µ ± 16%
Create/sqlite/1-workers-4                 240.9µ ±  4%
Create/sqlite/4-workers-4                 1.395m ±  6%
Create/sqlite/16-workers-4                4.970m ± 11%
Create/sqlite/64-workers-4                17.05m ±  6%
Create/sqlite/128-workers-4               45.17m ± 32%
Create/dqlite/1-workers-4                 34.20µ ± 25%
Create/dqlite/4-workers-4                 39.50µ ± 22%
Create/dqlite/16-workers-4                35.10µ ± 23%
Create/dqlite/64-workers-4                40.80µ ± 44%
Create/dqlite/128-workers-4               40.40µ ±  9%
Delete/sqlite/1-workers-4                 208.2µ ±  8%
Delete/sqlite/4-workers-4                 1.301m ±  6%
Delete/sqlite/16-workers-4                4.960m ±  6%
Delete/sqlite/64-workers-4                17.18m ± 77%
Delete/sqlite/128-workers-4               34.22m ± 51%
Delete/dqlite/1-workers-4                 34.60µ ± 12%
Delete/dqlite/4-workers-4                 43.90µ ± 22%
Delete/dqlite/16-workers-4                41.90µ ± 12%
Delete/dqlite/64-workers-4                42.30µ ± 24%
Delete/dqlite/128-workers-4               40.70µ ± 12%
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                 257.5µ ±  4%
Update/sqlite/4-workers-4                 1.404m ± 11%
Update/sqlite/16-workers-4                5.097m ±  8%
Update/sqlite/64-workers-4                17.37m ±  8%
Update/sqlite/128-workers-4               52.32m ± 23%
Update/dqlite/1-workers-4                 35.30µ ± 26%
Update/dqlite/4-workers-4                 33.30µ ± 17%
Update/dqlite/16-workers-4                33.90µ ± 36%
Update/dqlite/64-workers-4                34.90µ ± 30%
Update/dqlite/128-workers-4               36.00µ ± 40%
geomean                                                ¹
¹ summaries must be >0 to compute geomean

                                        │     After     │
                                        │     B/op      │
Compaction/sqlite-4                       2.066Ki ± 53%
Compaction/dqlite-4                       11.37Ki ± 84%
Create/sqlite/1-workers-4                 20.23Ki ±  0%
Create/sqlite/4-workers-4                 20.22Ki ±  0%
Create/sqlite/16-workers-4                20.21Ki ±  0%
Create/sqlite/64-workers-4                20.22Ki ±  0%
Create/sqlite/128-workers-4               20.63Ki ±  1%
Create/dqlite/1-workers-4                 19.50Ki ±  0%
Create/dqlite/4-workers-4                 19.48Ki ±  0%
Create/dqlite/16-workers-4                19.48Ki ±  0%
Create/dqlite/64-workers-4                19.53Ki ±  0%
Create/dqlite/128-workers-4               19.49Ki ±  0%
Delete/sqlite/1-workers-4                 22.65Ki ±  0%
Delete/sqlite/4-workers-4                 22.65Ki ±  0%
Delete/sqlite/16-workers-4                22.62Ki ±  0%
Delete/sqlite/64-workers-4                22.67Ki ±  1%
Delete/sqlite/128-workers-4               22.79Ki ±  2%
Delete/dqlite/1-workers-4                 21.75Ki ±  0%
Delete/dqlite/4-workers-4                 21.72Ki ±  0%
Delete/dqlite/16-workers-4                21.73Ki ±  0%
Delete/dqlite/64-workers-4                21.75Ki ±  0%
Delete/dqlite/128-workers-4               21.76Ki ±  0%
Get/sqlite-4                              22.84Ki ±  0%
Get/dqlite-4                              21.79Ki ±  0%
List/sqlite-tiny/all-4                    1.117Ki ±  6%
List/sqlite-tiny/pagination-4              1010.0 ± 37%
List/sqlite-fits-in-page/all-4            7.339Ki ±  6%
List/sqlite-fits-in-page/pagination-4     10.44Ki ± 30%
List/sqlite-overflows-page/all-4          20.50Ki ± 12%
List/sqlite-overflows-page/pagination-4   18.03Ki ± 21%
List/dqlite-tiny/all-4                      950.0 ±  6%
List/dqlite-tiny/pagination-4               786.0 ± 12%
List/dqlite-fits-in-page/all-4            5.987Ki ±  8%
List/dqlite-fits-in-page/pagination-4     5.630Ki ± 10%
List/dqlite-overflows-page/all-4          30.71Ki ±  9%
List/dqlite-overflows-page/pagination-4   31.75Ki ±  1%
Update/sqlite/1-workers-4                 21.39Ki ±  0%
Update/sqlite/4-workers-4                 21.39Ki ±  0%
Update/sqlite/16-workers-4                21.38Ki ±  0%
Update/sqlite/64-workers-4                21.41Ki ±  0%
Update/sqlite/128-workers-4               21.65Ki ±  1%
Update/dqlite/1-workers-4                 20.61Ki ±  0%
Update/dqlite/4-workers-4                 20.57Ki ±  0%
Update/dqlite/16-workers-4                20.58Ki ±  0%
Update/dqlite/64-workers-4                20.57Ki ±  0%
Update/dqlite/128-workers-4               20.53Ki ±  0%
geomean                                   13.92Ki

                                        │    After    │
                                        │  allocs/op  │
Compaction/sqlite-4                       44.00 ± 55%
Compaction/dqlite-4                       272.0 ± 85%
Create/sqlite/1-workers-4                 393.0 ±  0%
Create/sqlite/4-workers-4                 393.0 ±  0%
Create/sqlite/16-workers-4                393.0 ±  0%
Create/sqlite/64-workers-4                393.0 ±  0%
Create/sqlite/128-workers-4               397.0 ±  1%
Create/dqlite/1-workers-4                 363.0 ±  0%
Create/dqlite/4-workers-4                 363.0 ±  0%
Create/dqlite/16-workers-4                363.0 ±  0%
Create/dqlite/64-workers-4                363.0 ±  0%
Create/dqlite/128-workers-4               362.0 ±  0%
Delete/sqlite/1-workers-4                 424.0 ±  0%
Delete/sqlite/4-workers-4                 424.0 ±  0%
Delete/sqlite/16-workers-4                423.0 ±  0%
Delete/sqlite/64-workers-4                423.0 ±  0%
Delete/sqlite/128-workers-4               424.0 ±  0%
Delete/dqlite/1-workers-4                 393.0 ±  0%
Delete/dqlite/4-workers-4                 392.0 ±  0%
Delete/dqlite/16-workers-4                392.0 ±  0%
Delete/dqlite/64-workers-4                392.0 ±  0%
Delete/dqlite/128-workers-4               392.0 ±  0%
Get/sqlite-4                              410.0 ±  0%
Get/dqlite-4                              388.0 ±  0%
List/sqlite-tiny/all-4                    14.00 ±  7%
List/sqlite-tiny/pagination-4             12.00 ± 67%
List/sqlite-fits-in-page/all-4            20.00 ± 10%
List/sqlite-fits-in-page/pagination-4     37.00 ± 46%
List/sqlite-overflows-page/all-4          8.000 ± 38%
List/sqlite-overflows-page/pagination-4   8.000 ± 25%
List/dqlite-tiny/all-4                    12.00 ± 17%
List/dqlite-tiny/pagination-4             8.000 ± 25%
List/dqlite-fits-in-page/all-4            18.00 ±  6%
List/dqlite-fits-in-page/pagination-4     17.00 ± 18%
List/dqlite-overflows-page/all-4          32.00 ±  3%
List/dqlite-overflows-page/pagination-4   34.00 ±  3%
Update/sqlite/1-workers-4                 400.0 ±  0%
Update/sqlite/4-workers-4                 400.0 ±  0%
Update/sqlite/16-workers-4                400.0 ±  0%
Update/sqlite/64-workers-4                400.0 ±  1%
Update/sqlite/128-workers-4               403.0 ±  0%
Update/dqlite/1-workers-4                 370.0 ±  0%
Update/dqlite/4-workers-4                 370.0 ±  0%
Update/dqlite/16-workers-4                369.0 ±  0%
Update/dqlite/64-workers-4                369.0 ±  0%
Update/dqlite/128-workers-4               368.0 ±  0%
geomean                                   160.2

                                        │         After         │
                                        │ network-bytes-read/op │
Compaction/dqlite-4                               4.176Ki ± 85%
Create/dqlite/1-workers-4                           241.3 ±  0%
Create/dqlite/4-workers-4                           242.0 ±  0%
Create/dqlite/16-workers-4                          242.4 ±  0%
Create/dqlite/64-workers-4                          242.6 ±  0%
Create/dqlite/128-workers-4                         242.5 ±  0%
Delete/dqlite/1-workers-4                           718.8 ±  0%
Delete/dqlite/4-workers-4                           720.3 ±  0%
Delete/dqlite/16-workers-4                          720.1 ±  0%
Delete/dqlite/64-workers-4                          720.0 ±  0%
Delete/dqlite/128-workers-4                         720.1 ±  0%
Get/dqlite-4                                        996.2 ±  0%
List/dqlite-tiny/all-4                              166.3 ± 14%
List/dqlite-tiny/pagination-4                       115.4 ± 23%
List/dqlite-fits-in-page/all-4                    1.330Ki ±  5%
List/dqlite-fits-in-page/pagination-4             1.258Ki ± 15%
List/dqlite-overflows-page/all-4                  7.220Ki ±  5%
List/dqlite-overflows-page/pagination-4           7.919Ki ±  3%
Update/dqlite/1-workers-4                           263.0 ±  0%
Update/dqlite/4-workers-4                           263.1 ±  0%
Update/dqlite/16-workers-4                          262.9 ±  0%
Update/dqlite/64-workers-4                          262.3 ±  0%
Update/dqlite/128-workers-4                         261.8 ±  0%
geomean                                             561.7

                                        │          After           │
                                        │ network-bytes-written/op │
Compaction/dqlite-4                                    5.426 ± 20%
Create/dqlite/1-workers-4                              115.9 ±  1%
Create/dqlite/4-workers-4                              117.4 ±  1%
Create/dqlite/16-workers-4                             117.8 ±  1%
Create/dqlite/64-workers-4                             118.2 ±  1%
Create/dqlite/128-workers-4                            118.0 ±  1%
Delete/dqlite/1-workers-4                              82.83 ±  0%
Delete/dqlite/4-workers-4                              83.47 ±  0%
Delete/dqlite/16-workers-4                             83.36 ±  0%
Delete/dqlite/64-workers-4                             83.31 ±  0%
Delete/dqlite/128-workers-4                            83.36 ±  0%
Get/dqlite-4                                           88.54 ±  0%
List/dqlite-tiny/all-4                               0.03501 ± 27%
List/dqlite-tiny/pagination-4                        0.01868 ± 57%
List/dqlite-fits-in-page/all-4                       0.06134 ± 10%
List/dqlite-fits-in-page/pagination-4                0.07395 ± 22%
List/dqlite-overflows-page/all-4                     0.08079 ± 11%
List/dqlite-overflows-page/pagination-4               0.1072 ±  4%
Update/dqlite/1-workers-4                              136.8 ±  0%
Update/dqlite/4-workers-4                              136.7 ±  0%
Update/dqlite/16-workers-4                             136.9 ±  0%
Update/dqlite/64-workers-4                             136.7 ±  0%
Update/dqlite/128-workers-4                            136.3 ±  0%
geomean                                                13.13

@claudiubelu claudiubelu force-pushed the tics-nighly-scan branch 6 times, most recently from 571c33f to cadf82e Compare January 20, 2025 15:32
@claudiubelu claudiubelu marked this pull request as ready for review January 20, 2025 15:32
@claudiubelu claudiubelu changed the title WIP: Tics nighly scan ci: add Tiobe TICS nightly workflow with coverage Jan 20, 2025
Copy link
Member

@berkayoz berkayoz left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Contributor

@louiseschmidtgen louiseschmidtgen left a comment

Choose a reason for hiding this comment

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

Thank you @claudiubelu!
Two small suggestions. Once addressed please go ahead and merge.

.github/workflows/tiobe-tics-cron.yaml Outdated Show resolved Hide resolved
Comment on lines +84 to +87
export PYTHONPATH="$(pwd)/test/performance/tests/"

# TICSQServer will try to build the project. We need a few environment variables
# for it to succeed. Based on make static / "hack/static-dqlite.sh".
export INSTALL_DIR="$(pwd)/hack/.deps/static"
export PATH="${PATH}:${INSTALL_DIR}/musl/bin"
export CC=musl-gcc
export CGO_CFLAGS="-I${INSTALL_DIR}/include"
export CGO_LDFLAGS="-L${INSTALL_DIR}/lib -luv -ldqlite -llz4 -lsqlite3 -Wl,-z,stack-size=1048576"
Copy link
Contributor

Choose a reason for hiding this comment

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

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think we can leave this as is. These env vars include other env vars, and the env: section does not allow for this type of thing, and the result would be worse than the current version, especially for $PATH.

@claudiubelu claudiubelu force-pushed the tics-nighly-scan branch 3 times, most recently from e5d5636 to 51c27b6 Compare January 27, 2025 10:43
* add new `go.coverage` Makefile target
* add nightly workflow for running TICS scan

Signed-off-by: Claudiu Belu <[email protected]>
Signed-off-by: Nashwan Azhari <[email protected]>
Co-Authored-By: Nashwan Azhari <[email protected]>
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.

3 participants