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

Performance Test workload (2) #199

Merged
merged 8 commits into from
Nov 14, 2024
Merged

Conversation

louiseschmidtgen
Copy link
Contributor

@louiseschmidtgen louiseschmidtgen commented Nov 11, 2024

Performance Test Workload

There are two load tests:

  • three control plane nodes
  • single node cluster

On the cluster an api-intensive job is launched using kube-burner.
This test creates configmaps and secrets and deletes them.

While the load test runs, pidstat is used to get metrics on CPU, MEM, IO reads and writes and output those files for each node.
This is the start of such a metrics file:

Linux 6.8.0-48-generic (k8s-performance-b07a0d-4) 	11/12/24 	_x86_64_	(8 CPU)

# Time        UID       PID    %usr %system  %guest   %wait    %CPU   CPU  minflt/s  majflt/s     VSZ     RSS   %MEM   kB_rd/s   kB_wr/s kB_ccwr/s iodelay  Command
15:03:17        0      1785    1.98    3.96    0.00    0.00    5.94     4    261.39      0.00 1391316  165368   0.68      0.00    106.93      0.00       0  k8s-dqlite

# Time        UID       PID    %usr %system  %guest   %wait    %CPU   CPU  minflt/s  majflt/s     VSZ     RSS   %MEM   kB_rd/s   kB_wr/s kB_ccwr/s iodelay  Command
15:03:18        0      1785    2.00    1.00    0.00    0.00    3.00     4    143.00      0.00 1391316  165368   0.68      0.00     68.00      0.00       0  k8s-dqlite

# Time        UID       PID    %usr %system  %guest   %wait    %CPU   CPU  minflt/s  majflt/s     VSZ     RSS   %MEM   kB_rd/s   kB_wr/s kB_ccwr/s iodelay  Command
15:03:19        0      1785    1.00    1.00    0.00    0.00    2.00     4     46.00      0.00 1391316  165368   0.68      0.00     20.00      0.00       0  k8s-dqlite

This PR should be merged after #197

Note for reviewers

Popen is necessary to run the metrics collection command in the background.

Copy link

github-actions bot commented Nov 11, 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.15µ ±   4%    19.83µ ±    9%        ~ (p=0.165 n=7)
Compaction/dqlite-4                       41.27µ ±   5%    41.85µ ±   14%        ~ (p=0.318 n=7)
Create/sqlite/1-workers-4                 477.7µ ±   1%    497.1µ ±    5%   +4.06% (p=0.011 n=7)
Create/sqlite/4-workers-4                 477.3µ ±   6%    466.2µ ±    3%        ~ (p=0.383 n=7)
Create/sqlite/16-workers-4                454.3µ ±  11%    457.4µ ±    7%        ~ (p=0.456 n=7)
Create/sqlite/64-workers-4                448.9µ ±   9%    438.2µ ±  321%        ~ (p=0.620 n=7)
Create/sqlite/128-workers-4               642.5µ ±  20%    713.3µ ±   78%        ~ (p=0.259 n=7)
Create/dqlite/1-workers-4                 1.080m ±   8%    1.040m ±    8%        ~ (p=0.128 n=7)
Create/dqlite/4-workers-4                 955.1µ ±   4%    958.1µ ±    4%        ~ (p=0.535 n=7)
Create/dqlite/16-workers-4                976.1µ ±   2%    948.6µ ±    3%   -2.82% (p=0.017 n=7)
Create/dqlite/64-workers-4                968.7µ ±   5%    964.0µ ±    9%        ~ (p=0.318 n=7)
Create/dqlite/128-workers-4               949.3µ ±   2%    967.5µ ±    5%        ~ (p=0.097 n=7)
Delete/sqlite/1-workers-4                 476.8µ ±   4%    478.2µ ±    5%        ~ (p=0.318 n=7)
Delete/sqlite/4-workers-4                 476.6µ ±   5%    469.5µ ±    5%        ~ (p=0.209 n=7)
Delete/sqlite/16-workers-4                441.1µ ±  16%    418.6µ ±    6%   -5.10% (p=0.007 n=7)
Delete/sqlite/64-workers-4                446.6µ ±  10%    522.5µ ± 1912%        ~ (p=0.620 n=7)
Delete/sqlite/128-workers-4               656.9µ ±  74%    555.4µ ±   28%        ~ (p=0.456 n=7)
Delete/dqlite/1-workers-4                 1.114m ±   3%    1.054m ±    4%   -5.41% (p=0.007 n=7)
Delete/dqlite/4-workers-4                 954.9µ ±   4%    923.4µ ±    5%   -3.29% (p=0.026 n=7)
Delete/dqlite/16-workers-4                951.1µ ±   6%    935.5µ ±    7%        ~ (p=0.456 n=7)
Delete/dqlite/64-workers-4                963.5µ ±   5%    927.9µ ±    8%   -3.70% (p=0.007 n=7)
Delete/dqlite/128-workers-4               911.7µ ±  11%    941.8µ ±    5%        ~ (p=0.620 n=7)
Get/sqlite-4                              239.8µ ±   1%    232.7µ ±    1%   -2.97% (p=0.001 n=7)
Get/dqlite-4                              359.4µ ±   3%    356.7µ ±    1%        ~ (p=0.165 n=7)
List/sqlite-tiny/all-4                    4.133µ ±   6%    4.131µ ±   10%        ~ (p=0.805 n=7)
List/sqlite-tiny/pagination-4             8.329µ ±   3%    8.221µ ±    2%        ~ (p=0.318 n=7)
List/sqlite-fits-in-page/all-4            7.621µ ±   4%    7.679µ ±    5%        ~ (p=0.902 n=7)
List/sqlite-fits-in-page/pagination-4     21.35µ ±   5%    22.05µ ±    6%        ~ (p=0.073 n=7)
List/sqlite-overflows-page/all-4          17.22µ ±   3%    17.25µ ±    4%        ~ (p=0.535 n=7)
List/sqlite-overflows-page/pagination-4   41.57µ ±   4%    43.21µ ±    7%        ~ (p=0.128 n=7)
List/dqlite-tiny/all-4                    2.945µ ±   3%    2.921µ ±    5%        ~ (p=0.300 n=7)
List/dqlite-tiny/pagination-4             6.026µ ±   2%    6.080µ ±    3%        ~ (p=1.000 n=7)
List/dqlite-fits-in-page/all-4            6.706µ ±   6%    6.683µ ±    4%        ~ (p=0.383 n=7)
List/dqlite-fits-in-page/pagination-4     17.23µ ±   3%    17.33µ ±    2%        ~ (p=0.456 n=7)
List/dqlite-overflows-page/all-4          21.78µ ±   2%    21.64µ ±    3%        ~ (p=0.805 n=7)
List/dqlite-overflows-page/pagination-4   44.79µ ±   2%    45.16µ ±    4%        ~ (p=0.620 n=7)
Update/sqlite/1-workers-4                 485.6µ ±   2%    480.4µ ±    3%        ~ (p=0.383 n=7)
Update/sqlite/4-workers-4                 474.9µ ±   5%    480.3µ ±    3%        ~ (p=0.535 n=7)
Update/sqlite/16-workers-4                431.1µ ±   7%    430.3µ ±   14%        ~ (p=0.318 n=7)
Update/sqlite/64-workers-4                510.0µ ±  18%    453.0µ ±   49%        ~ (p=0.259 n=7)
Update/sqlite/128-workers-4               992.9µ ± 706%    691.4µ ±   18%  -30.36% (p=0.011 n=7)
Update/dqlite/1-workers-4                 1.070m ±   2%    1.078m ±    6%        ~ (p=0.535 n=7)
Update/dqlite/4-workers-4                 945.8µ ±   3%    966.7µ ±    2%   +2.21% (p=0.017 n=7)
Update/dqlite/16-workers-4                949.4µ ±   3%    931.9µ ±   11%        ~ (p=0.902 n=7)
Update/dqlite/64-workers-4                979.4µ ±   8%    968.4µ ±    7%        ~ (p=0.456 n=7)
Update/dqlite/128-workers-4               996.0µ ±   4%   1003.0µ ±    7%        ~ (p=0.318 n=7)
geomean                                   204.5µ           202.0µ           -1.24%

                                        │        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.19 ±  1%     12.36 ±  2%       ~ (p=0.058 n=7)
Compaction/dqlite-4                         12.19 ±  1%     12.21 ±  1%       ~ (p=0.332 n=7)
Create/sqlite/1-workers-4                   13.90 ±  0%     13.89 ±  0%       ~ (p=0.064 n=7)
Create/sqlite/4-workers-4                   12.52 ±  3%     12.60 ±  2%       ~ (p=0.137 n=7)
Create/sqlite/16-workers-4                  10.57 ±  5%     11.00 ±  3%  +4.07% (p=0.041 n=7)
Create/sqlite/64-workers-4                  8.639 ±  7%     8.796 ±  8%       ~ (p=1.000 n=7)
Create/sqlite/128-workers-4                 8.391 ±  4%     8.407 ±  6%       ~ (p=1.000 n=7)
Create/dqlite/1-workers-4                   13.30 ±  1%     13.19 ±  3%       ~ (p=0.097 n=7)
Create/dqlite/4-workers-4                   10.97 ±  1%     10.87 ±  1%  -0.91% (p=0.026 n=7)
Create/dqlite/16-workers-4                  10.95 ±  1%     10.97 ±  1%       ~ (p=0.559 n=7)
Create/dqlite/64-workers-4                  11.02 ±  1%     10.95 ±  2%  -0.64% (p=0.013 n=7)
Create/dqlite/128-workers-4                 11.05 ±  2%     10.98 ±  1%       ~ (p=0.057 n=7)
Delete/sqlite/1-workers-4                   16.23 ±  0%     16.22 ±  0%       ~ (p=0.619 n=7)
Delete/sqlite/4-workers-4                   14.75 ±  2%     14.68 ±  1%       ~ (p=0.470 n=7)
Delete/sqlite/16-workers-4                  12.09 ± 10%     11.90 ±  5%       ~ (p=0.456 n=7)
Delete/sqlite/64-workers-4                  10.05 ±  2%     10.12 ± 20%       ~ (p=0.805 n=7)
Delete/sqlite/128-workers-4                 9.471 ±  4%     9.457 ±  5%       ~ (p=0.513 n=7)
Delete/dqlite/1-workers-4                   15.81 ±  1%     15.66 ±  1%  -0.95% (p=0.024 n=7)
Delete/dqlite/4-workers-4                   13.46 ±  0%     13.28 ±  0%  -1.34% (p=0.001 n=7)
Delete/dqlite/16-workers-4                  13.48 ±  2%     13.25 ±  1%  -1.71% (p=0.020 n=7)
Delete/dqlite/64-workers-4                  13.47 ±  1%     13.20 ±  2%  -2.00% (p=0.006 n=7)
Delete/dqlite/128-workers-4                 13.32 ±  3%     13.10 ±  4%  -1.65% (p=0.023 n=7)
Get/sqlite-4                                14.95 ±  0%     14.95 ±  0%       ~ (p=1.000 n=7)
Get/dqlite-4                                11.96 ±  0%     11.96 ±  0%       ~ (p=0.373 n=7)
List/sqlite-tiny/all-4                     192.7m ±  1%    192.8m ±  1%       ~ (p=0.697 n=7)
List/sqlite-tiny/pagination-4               1.131 ±  0%     1.131 ±  0%       ~ (p=1.000 n=7) ¹
List/sqlite-fits-in-page/all-4             164.1m ±  1%    163.2m ±  1%       ~ (p=0.477 n=7)
List/sqlite-fits-in-page/pagination-4      960.9m ±  1%    960.3m ±  3%       ~ (p=0.535 n=7)
List/sqlite-overflows-page/all-4           177.1m ±  0%    177.1m ±  0%       ~ (p=1.000 n=7)
List/sqlite-overflows-page/pagination-4     1.420 ± 28%     1.731 ± 41%       ~ (p=0.135 n=7)
List/dqlite-tiny/all-4                     191.6m ±  0%    191.5m ±  0%       ~ (p=0.140 n=7)
List/dqlite-tiny/pagination-4               1.126 ±  3%     1.126 ±  3%       ~ (p=1.000 n=7)
List/dqlite-fits-in-page/all-4             164.3m ±  0%    164.2m ±  0%       ~ (p=0.286 n=7)
List/dqlite-fits-in-page/pagination-4      923.4m ±  3%    955.2m ±  3%  +3.44% (p=0.023 n=7)
List/dqlite-overflows-page/all-4           184.1m ±  0%    184.2m ±  0%       ~ (p=0.773 n=7)
List/dqlite-overflows-page/pagination-4     1.071 ±  0%     1.071 ±  3%       ~ (p=1.000 n=7)
Update/sqlite/1-workers-4                   15.84 ±  0%     15.84 ±  0%       ~ (p=1.000 n=7)
Update/sqlite/4-workers-4                   14.58 ±  3%     14.60 ±  3%       ~ (p=0.830 n=7)
Update/sqlite/16-workers-4                  12.58 ±  5%     12.87 ±  4%       ~ (p=0.435 n=7)
Update/sqlite/64-workers-4                  11.20 ±  3%     11.22 ±  6%       ~ (p=0.710 n=7)
Update/sqlite/128-workers-4                 10.64 ±  4%     10.85 ±  6%       ~ (p=0.832 n=7)
Update/dqlite/1-workers-4                   15.47 ±  1%     15.29 ±  0%  -1.16% (p=0.001 n=7)
Update/dqlite/4-workers-4                   12.89 ±  1%     12.77 ±  1%  -0.93% (p=0.002 n=7)
Update/dqlite/16-workers-4                  12.89 ±  2%     12.64 ±  2%  -1.94% (p=0.006 n=7)
Update/dqlite/64-workers-4                  13.19 ±  3%     12.90 ±  3%       ~ (p=0.257 n=7)
Update/dqlite/128-workers-4                 13.43 ±  3%     13.23 ±  4%       ~ (p=0.596 n=7)
geomean                                     5.199           5.217        +0.33%
¹ all samples are equal

                                        │     Before     │                 After                  │
                                        │ page-writes/op │ page-writes/op  vs base                │
Compaction/sqlite-4                       190.3m ±  0%        190.5m ± 0%       ~ (p=0.356 n=7)
Compaction/dqlite-4                       187.6m ±  1%        187.6m ± 1%       ~ (p=0.298 n=7)
Create/sqlite/1-workers-4                  4.360 ±  0%         4.358 ± 0%       ~ (p=0.173 n=7)
Create/sqlite/4-workers-4                  4.321 ±  1%         4.322 ± 1%       ~ (p=0.805 n=7)
Create/sqlite/16-workers-4                 4.283 ±  1%         4.283 ± 1%       ~ (p=0.924 n=7)
Create/sqlite/64-workers-4                 4.259 ±  1%         4.259 ± 5%       ~ (p=0.365 n=7)
Create/sqlite/128-workers-4                4.225 ±  1%         4.194 ± 2%       ~ (p=0.119 n=7)
Create/dqlite/1-workers-4                  4.243 ±  1%         4.251 ± 2%       ~ (p=0.684 n=7)
Create/dqlite/4-workers-4                  4.301 ±  1%         4.300 ± 1%       ~ (p=0.301 n=7)
Create/dqlite/16-workers-4                 4.282 ±  1%         4.298 ± 0%  +0.37% (p=0.009 n=7)
Create/dqlite/64-workers-4                 4.283 ±  1%         4.315 ± 1%  +0.75% (p=0.048 n=7)
Create/dqlite/128-workers-4                4.302 ±  2%         4.294 ± 1%       ~ (p=0.618 n=7)
Delete/sqlite/1-workers-4                  4.390 ±  0%         4.390 ± 0%       ~ (p=0.776 n=7)
Delete/sqlite/4-workers-4                  4.398 ±  1%         4.399 ± 1%       ~ (p=0.436 n=7)
Delete/sqlite/16-workers-4                 4.385 ±  1%         4.370 ± 1%       ~ (p=0.476 n=7)
Delete/sqlite/64-workers-4                 4.364 ±  1%         4.354 ± 5%       ~ (p=0.736 n=7)
Delete/sqlite/128-workers-4                4.339 ±  1%         4.356 ± 2%       ~ (p=0.383 n=7)
Delete/dqlite/1-workers-4                  4.369 ±  1%         4.364 ± 1%       ~ (p=0.781 n=7)
Delete/dqlite/4-workers-4                  4.367 ±  0%         4.374 ± 0%       ~ (p=0.456 n=7)
Delete/dqlite/16-workers-4                 4.372 ±  1%         4.370 ± 0%       ~ (p=0.831 n=7)
Delete/dqlite/64-workers-4                 4.351 ±  0%         4.369 ± 1%       ~ (p=0.209 n=7)
Delete/dqlite/128-workers-4                4.363 ±  1%         4.356 ± 1%       ~ (p=0.596 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.246 ±  0%         4.249 ± 0%       ~ (p=0.400 n=7)
Update/sqlite/4-workers-4                  4.327 ±  1%         4.309 ± 1%       ~ (p=0.932 n=7)
Update/sqlite/16-workers-4                 4.314 ±  1%         4.317 ± 1%       ~ (p=0.735 n=7)
Update/sqlite/64-workers-4                 4.381 ±  2%         4.372 ± 1%       ~ (p=0.902 n=7)
Update/sqlite/128-workers-4                4.536 ± 73%         4.512 ± 4%       ~ (p=0.620 n=7)
Update/dqlite/1-workers-4                  4.209 ±  0%         4.208 ± 0%       ~ (p=0.883 n=7)
Update/dqlite/4-workers-4                  4.207 ±  1%         4.206 ± 0%       ~ (p=0.805 n=7)
Update/dqlite/16-workers-4                 4.257 ±  1%         4.241 ± 1%       ~ (p=0.435 n=7)
Update/dqlite/64-workers-4                 4.350 ±  3%         4.304 ± 3%       ~ (p=0.779 n=7)
Update/dqlite/128-workers-4                4.465 ±  4%         4.462 ± 4%       ~ (p=0.805 n=7)
geomean                                                ²                   -0.04%               ²
¹ all samples are equal
² summaries must be >0 to compute geomean

                                        │     Before     │                After                 │
                                        │ sec-reading/op │ sec-reading/op  vs base              │
Compaction/sqlite-4                        28.20µ ±   4%     27.80µ ± 35%       ~ (p=0.333 n=7)
Compaction/dqlite-4                        29.20µ ±  48%     29.50µ ± 49%       ~ (p=0.436 n=7)
Create/sqlite/1-workers-4                  19.70µ ±  26%     17.60µ ± 23%       ~ (p=0.195 n=7)
Create/sqlite/4-workers-4                  21.30µ ±  22%     17.00µ ± 49%       ~ (p=0.259 n=7)
Create/sqlite/16-workers-4                 20.00µ ±  16%     21.10µ ± 26%       ~ (p=0.120 n=7)
Create/sqlite/64-workers-4                 22.70µ ±  25%     21.20µ ± 22%       ~ (p=0.620 n=7)
Create/sqlite/128-workers-4                22.40µ ±  38%     23.50µ ± 19%       ~ (p=0.929 n=7)
Create/dqlite/1-workers-4                  9.200µ ±  24%    11.900µ ± 51%       ~ (p=0.058 n=7)
Create/dqlite/4-workers-4                  12.90µ ±  64%     11.60µ ± 23%       ~ (p=0.781 n=7)
Create/dqlite/16-workers-4                 10.70µ ±  72%     11.80µ ± 64%       ~ (p=0.644 n=7)
Create/dqlite/64-workers-4                 10.30µ ±  50%     12.10µ ± 49%       ~ (p=0.259 n=7)
Create/dqlite/128-workers-4                13.00µ ±  45%     10.70µ ± 25%       ~ (p=0.454 n=7)
Delete/sqlite/1-workers-4                  32.30µ ±  13%     28.10µ ± 22%       ~ (p=0.119 n=7)
Delete/sqlite/4-workers-4                  31.40µ ±  16%     31.40µ ± 20%       ~ (p=0.734 n=7)
Delete/sqlite/16-workers-4                 35.00µ ±  15%     36.10µ ± 13%       ~ (p=0.435 n=7)
Delete/sqlite/64-workers-4                 36.60µ ±  23%     35.50µ ± 69%       ~ (p=1.000 n=7)
Delete/sqlite/128-workers-4                37.60µ ±  31%     39.10µ ± 21%       ~ (p=0.456 n=7)
Delete/dqlite/1-workers-4                  16.20µ ±  30%     17.20µ ± 20%       ~ (p=0.620 n=7)
Delete/dqlite/4-workers-4                  17.20µ ±  22%     16.70µ ± 51%       ~ (p=0.535 n=7)
Delete/dqlite/16-workers-4                 15.80µ ±  45%     16.50µ ± 24%       ~ (p=0.805 n=7)
Delete/dqlite/64-workers-4                 15.90µ ±  30%     14.30µ ± 46%       ~ (p=0.535 n=7)
Delete/dqlite/128-workers-4                13.30µ ±  45%     16.50µ ± 42%       ~ (p=0.383 n=7)
Get/sqlite-4                               67.00µ ±  11%     67.10µ ±  9%       ~ (p=1.000 n=7)
Get/dqlite-4                               33.70µ ±  24%     32.70µ ± 17%       ~ (p=0.456 n=7)
List/sqlite-tiny/all-4                     7.800µ ±  21%     7.700µ ± 27%       ~ (p=0.601 n=7)
List/sqlite-tiny/pagination-4              14.70µ ±   3%     14.60µ ±  2%       ~ (p=0.510 n=7)
List/sqlite-fits-in-page/all-4             13.20µ ±  22%     12.50µ ± 14%       ~ (p=0.829 n=7)
List/sqlite-fits-in-page/pagination-4      33.40µ ±  10%     34.20µ ± 13%       ~ (p=0.259 n=7)
List/sqlite-overflows-page/all-4           13.20µ ±   2%     13.40µ ±  5%       ~ (p=0.302 n=7)
List/sqlite-overflows-page/pagination-4    42.80µ ±  22%     50.90µ ± 33%       ~ (p=0.104 n=7)
List/dqlite-tiny/all-4                     4.100µ ±   2%     4.000µ ± 10%       ~ (p=0.302 n=7)
List/dqlite-tiny/pagination-4              9.400µ ±  19%     9.300µ ± 20%       ~ (p=0.555 n=7)
List/dqlite-fits-in-page/all-4             10.80µ ±  16%     10.70µ ± 13%       ~ (p=0.833 n=7)
List/dqlite-fits-in-page/pagination-4      25.30µ ±  11%     25.60µ ± 19%       ~ (p=0.596 n=7)
List/dqlite-overflows-page/all-4           35.20µ ±   2%     35.20µ ± 15%       ~ (p=0.925 n=7)
List/dqlite-overflows-page/pagination-4    66.90µ ±   9%     68.30µ ± 12%       ~ (p=0.259 n=7)
Update/sqlite/1-workers-4                  21.50µ ±  25%     19.50µ ± 27%       ~ (p=0.596 n=7)
Update/sqlite/4-workers-4                  22.00µ ±  24%     22.80µ ± 29%       ~ (p=0.684 n=7)
Update/sqlite/16-workers-4                 22.80µ ±  11%     21.70µ ± 13%       ~ (p=0.831 n=7)
Update/sqlite/64-workers-4                 23.30µ ±  15%     22.60µ ± 25%       ~ (p=0.902 n=7)
Update/sqlite/128-workers-4                24.90µ ± 113%     22.90µ ± 25%       ~ (p=0.165 n=7)
Update/dqlite/1-workers-4                 11.300µ ±  50%     9.000µ ± 47%       ~ (p=0.097 n=7)
Update/dqlite/4-workers-4                  11.50µ ±  44%     13.10µ ± 49%       ~ (p=0.805 n=7)
Update/dqlite/16-workers-4                 11.70µ ±  51%     11.90µ ± 15%       ~ (p=0.781 n=7)
Update/dqlite/64-workers-4                 10.90µ ±  33%     12.80µ ± 30%       ~ (p=0.737 n=7)
Update/dqlite/128-workers-4                12.10µ ±  32%     13.50µ ± 33%       ~ (p=0.336 n=7)
geomean                                    18.92µ            18.94µ        +0.11%

                                        │     Before      │                  After                  │
                                        │ sec-writing/op  │ sec-writing/op  vs base                 │
Compaction/sqlite-4                       9.500µ ±   8%      9.200µ ±  13%        ~ (p=0.926 n=7)
Compaction/dqlite-4                       6.700µ ±   6%      6.700µ ±  12%        ~ (p=0.642 n=7)
Create/sqlite/1-workers-4                 253.3µ ±   5%      275.4µ ±  10%   +8.72% (p=0.017 n=7)
Create/sqlite/4-workers-4                 1.502m ±   8%      1.470m ±   8%        ~ (p=0.176 n=7)
Create/sqlite/16-workers-4                5.322m ±   8%      5.347m ±   5%        ~ (p=0.805 n=7)
Create/sqlite/64-workers-4                17.79m ±   6%      17.38m ±  76%        ~ (p=0.175 n=7)
Create/sqlite/128-workers-4               36.04m ±  15%      36.12m ±  27%        ~ (p=0.644 n=7)
Create/dqlite/1-workers-4                 37.90µ ±  26%      46.60µ ±  25%        ~ (p=0.073 n=7)
Create/dqlite/4-workers-4                 49.50µ ±  18%      46.90µ ±  19%        ~ (p=0.902 n=7)
Create/dqlite/16-workers-4                44.70µ ±  38%      46.50µ ±  20%        ~ (p=0.902 n=7)
Create/dqlite/64-workers-4                50.90µ ±  25%      48.50µ ±  18%        ~ (p=0.476 n=7)
Create/dqlite/128-workers-4               46.10µ ±  33%      45.80µ ±  26%        ~ (p=0.902 n=7)
Delete/sqlite/1-workers-4                 253.7µ ±   9%      259.6µ ±   9%        ~ (p=0.220 n=7)
Delete/sqlite/4-workers-4                 1.481m ±   8%      1.461m ±   8%        ~ (p=0.902 n=7)
Delete/sqlite/16-workers-4                5.265m ±   6%      5.192m ±   9%        ~ (p=0.645 n=7)
Delete/sqlite/64-workers-4                18.01m ±   5%      18.30m ± 368%   +1.61% (p=0.049 n=7)
Delete/sqlite/128-workers-4               34.70m ±  30%      34.72m ±  17%        ~ (p=0.596 n=7)
Delete/dqlite/1-workers-4                 46.80µ ±  19%      39.30µ ±  27%        ~ (p=0.097 n=7)
Delete/dqlite/4-workers-4                 50.30µ ±  33%      41.80µ ±  31%        ~ (p=0.620 n=7)
Delete/dqlite/16-workers-4                47.30µ ±  30%      50.10µ ±  33%        ~ (p=0.535 n=7)
Delete/dqlite/64-workers-4                48.50µ ±  15%      47.20µ ±  40%        ~ (p=0.685 n=7)
Delete/dqlite/128-workers-4               50.50µ ±   9%      51.30µ ±  11%        ~ (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                 249.5µ ±   5%      259.1µ ±   7%        ~ (p=0.209 n=7)
Update/sqlite/4-workers-4                 1.380m ±  14%      1.444m ±  10%        ~ (p=0.710 n=7)
Update/sqlite/16-workers-4                4.995m ±  13%      5.251m ±   7%        ~ (p=0.097 n=7)
Update/sqlite/64-workers-4                17.70m ±   6%      17.88m ±   7%        ~ (p=0.778 n=7)
Update/sqlite/128-workers-4               40.40m ± 257%      35.85m ±  10%  -11.26% (p=0.007 n=7)
Update/dqlite/1-workers-4                 40.80µ ±  28%      41.10µ ±  35%        ~ (p=1.000 n=7)
Update/dqlite/4-workers-4                 49.40µ ±  35%      46.70µ ±  15%        ~ (p=0.902 n=7)
Update/dqlite/16-workers-4                47.00µ ±  13%      42.50µ ±  22%        ~ (p=0.073 n=7)
Update/dqlite/64-workers-4                43.20µ ±  28%      47.70µ ±  18%        ~ (p=0.477 n=7)
Update/dqlite/128-workers-4               45.90µ ±  27%      48.70µ ±  12%        ~ (p=0.805 n=7)
geomean                                                 ²                    -0.26%               ²
¹ all samples are equal
² summaries must be >0 to compute geomean

                                        │    Before     │                After                │
                                        │     B/op      │     B/op       vs base              │
Compaction/sqlite-4                       2.406Ki ±  4%   2.358Ki ± 41%       ~ (p=0.097 n=7)
Compaction/dqlite-4                       5.095Ki ± 65%   5.128Ki ± 65%       ~ (p=0.535 n=7)
Create/sqlite/1-workers-4                 20.49Ki ±  0%   20.50Ki ±  0%  +0.03% (p=0.048 n=7)
Create/sqlite/4-workers-4                 20.48Ki ±  0%   20.49Ki ±  0%       ~ (p=0.381 n=7)
Create/sqlite/16-workers-4                20.47Ki ±  0%   20.49Ki ±  0%  +0.13% (p=0.050 n=7)
Create/sqlite/64-workers-4                20.49Ki ±  0%   20.49Ki ±  2%       ~ (p=0.645 n=7)
Create/sqlite/128-workers-4               20.61Ki ±  1%   20.62Ki ±  1%       ~ (p=0.383 n=7)
Create/dqlite/1-workers-4                 19.75Ki ±  0%   19.74Ki ±  0%       ~ (p=1.000 n=7)
Create/dqlite/4-workers-4                 19.72Ki ±  0%   19.72Ki ±  0%       ~ (p=0.979 n=7)
Create/dqlite/16-workers-4                19.73Ki ±  0%   19.72Ki ±  0%  -0.05% (p=0.010 n=7)
Create/dqlite/64-workers-4                19.74Ki ±  0%   19.73Ki ±  0%       ~ (p=0.079 n=7)
Create/dqlite/128-workers-4               19.75Ki ±  0%   19.75Ki ±  2%       ~ (p=0.258 n=7)
Delete/sqlite/1-workers-4                 22.92Ki ±  0%   22.93Ki ±  0%       ~ (p=0.138 n=7)
Delete/sqlite/4-workers-4                 22.92Ki ±  0%   22.92Ki ±  0%       ~ (p=0.620 n=7)
Delete/sqlite/16-workers-4                22.90Ki ±  0%   22.89Ki ±  0%       ~ (p=0.448 n=7)
Delete/sqlite/64-workers-4                22.92Ki ±  0%   22.93Ki ± 10%       ~ (p=0.929 n=7)
Delete/sqlite/128-workers-4               23.00Ki ±  1%   22.97Ki ±  1%       ~ (p=0.209 n=7)
Delete/dqlite/1-workers-4                 22.01Ki ±  0%   22.01Ki ±  0%       ~ (p=0.833 n=7)
Delete/dqlite/4-workers-4                 21.99Ki ±  0%   21.98Ki ±  0%       ~ (p=0.154 n=7)
Delete/dqlite/16-workers-4                21.99Ki ± 10%   21.98Ki ±  9%       ~ (p=0.128 n=7)
Delete/dqlite/64-workers-4                22.00Ki ±  0%   21.99Ki ± 10%       ~ (p=0.052 n=7)
Delete/dqlite/128-workers-4               22.02Ki ± 10%   22.01Ki ± 10%       ~ (p=0.831 n=7)
Get/sqlite-4                              24.42Ki ±  0%   24.42Ki ±  0%       ~ (p=0.707 n=7)
Get/dqlite-4                              23.25Ki ±  0%   23.25Ki ±  0%       ~ (p=0.314 n=7)
List/sqlite-tiny/all-4                    1.237Ki ± 14%   1.236Ki ± 13%       ~ (p=0.710 n=7)
List/sqlite-tiny/pagination-4             1.580Ki ±  2%   1.590Ki ±  3%       ~ (p=0.805 n=7)
List/sqlite-fits-in-page/all-4            7.626Ki ± 18%   7.118Ki ± 12%       ~ (p=0.456 n=7)
List/sqlite-fits-in-page/pagination-4     9.514Ki ± 17%   9.812Ki ± 15%       ~ (p=0.620 n=7)
List/sqlite-overflows-page/all-4          20.53Ki ±  0%   20.54Ki ±  0%  +0.02% (p=0.022 n=7)
List/sqlite-overflows-page/pagination-4   24.50Ki ± 24%   31.73Ki ± 43%       ~ (p=0.209 n=7)
List/dqlite-tiny/all-4                    1.061Ki ±  6%   1.047Ki ± 10%       ~ (p=0.128 n=7)
List/dqlite-tiny/pagination-4               972.0 ±  3%     980.0 ±  3%       ~ (p=0.640 n=7)
List/dqlite-fits-in-page/all-4            6.096Ki ±  7%   6.114Ki ±  9%       ~ (p=0.805 n=7)
List/dqlite-fits-in-page/pagination-4     5.442Ki ±  4%   5.484Ki ±  9%       ~ (p=0.165 n=7)
List/dqlite-overflows-page/all-4          30.29Ki ±  8%   30.50Ki ±  9%       ~ (p=0.902 n=7)
List/dqlite-overflows-page/pagination-4   29.50Ki ±  4%   29.55Ki ±  4%       ~ (p=0.710 n=7)
Update/sqlite/1-workers-4                 22.27Ki ±  0%   22.27Ki ±  0%       ~ (p=0.831 n=7)
Update/sqlite/4-workers-4                 22.28Ki ±  0%   22.29Ki ±  0%       ~ (p=0.804 n=7)
Update/sqlite/16-workers-4                22.33Ki ±  0%   22.32Ki ±  0%       ~ (p=0.902 n=7)
Update/sqlite/64-workers-4                22.66Ki ±  2%   22.59Ki ±  1%       ~ (p=0.535 n=7)
Update/sqlite/128-workers-4               23.75Ki ± 85%   23.41Ki ±  3%       ~ (p=0.318 n=7)
Update/dqlite/1-workers-4                 21.49Ki ±  0%   21.49Ki ±  0%       ~ (p=0.727 n=7)
Update/dqlite/4-workers-4                 21.49Ki ±  0%   21.48Ki ±  0%       ~ (p=0.273 n=7)
Update/dqlite/16-workers-4                21.60Ki ±  0%   21.54Ki ±  1%       ~ (p=0.259 n=7)
Update/dqlite/64-workers-4                22.00Ki ±  3%   21.89Ki ±  3%       ~ (p=1.000 n=7)
Update/dqlite/128-workers-4               22.42Ki ±  2%   22.54Ki ±  4%       ~ (p=0.318 n=7)
geomean                                   14.33Ki         14.40Ki        +0.45%

                                        │   Before    │                After                │
                                        │  allocs/op  │  allocs/op   vs base                │
Compaction/sqlite-4                       52.00 ±  6%   51.00 ± 43%       ~ (p=0.193 n=7)
Compaction/dqlite-4                       122.0 ± 66%   123.0 ± 66%       ~ (p=0.555 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                399.0 ±  0%   399.0 ±  1%       ~ (p=1.000 n=7)
Create/sqlite/128-workers-4               400.0 ±  1%   400.0 ±  1%       ~ (p=0.318 n=7)
Create/dqlite/1-workers-4                 369.0 ±  0%   369.0 ±  0%       ~ (p=1.000 n=7) ¹
Create/dqlite/4-workers-4                 369.0 ±  0%   369.0 ±  0%       ~ (p=1.000 n=7)
Create/dqlite/16-workers-4                368.0 ±  0%   369.0 ±  0%       ~ (p=0.266 n=7)
Create/dqlite/64-workers-4                368.0 ±  0%   368.0 ±  0%       ~ (p=0.462 n=7)
Create/dqlite/128-workers-4               368.0 ±  0%   368.0 ±  2%       ~ (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                430.0 ±  0%   430.0 ±  0%       ~ (p=0.192 n=7)
Delete/sqlite/64-workers-4                431.0 ±  0%   430.0 ±  2%       ~ (p=0.825 n=7)
Delete/sqlite/128-workers-4               431.0 ±  1%   430.0 ±  1%       ~ (p=0.470 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 ± 13%   399.0 ± 11%       ~ (p=1.000 n=7)
Delete/dqlite/64-workers-4                399.0 ±  0%   399.0 ± 13%       ~ (p=1.000 n=7)
Delete/dqlite/128-workers-4               399.0 ± 13%   399.0 ± 13%       ~ (p=1.000 n=7)
Get/sqlite-4                              445.0 ±  0%   445.0 ±  0%       ~ (p=1.000 n=7) ¹
Get/dqlite-4                              412.0 ±  0%   412.0 ±  0%       ~ (p=1.000 n=7) ¹
List/sqlite-tiny/all-4                    18.00 ± 17%   18.00 ± 22%       ~ (p=0.714 n=7)
List/sqlite-tiny/pagination-4             25.00 ±  4%   25.00 ±  4%       ~ (p=1.000 n=7)
List/sqlite-fits-in-page/all-4            21.00 ± 24%   19.00 ± 21%       ~ (p=0.729 n=7)
List/sqlite-fits-in-page/pagination-4     32.00 ± 28%   33.00 ± 24%       ~ (p=0.659 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   15.00 ± 40%   20.00 ± 60%       ~ (p=0.138 n=7)
List/dqlite-tiny/all-4                    15.00 ±  7%   14.00 ±  7%       ~ (p=0.429 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 ±  0%   20.00 ±  0%       ~ (p=1.000 n=7) ¹
List/dqlite-fits-in-page/pagination-4     19.00 ±  5%   19.00 ±  5%       ~ (p=0.538 n=7)
List/dqlite-overflows-page/all-4          34.00 ±  3%   34.00 ±  3%       ~ (p=1.000 n=7)
List/dqlite-overflows-page/pagination-4   34.00 ±  3%   34.00 ±  6%       ~ (p=0.861 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                412.0 ±  0%   412.0 ±  0%       ~ (p=1.000 n=7)
Update/sqlite/64-workers-4                418.0 ±  1%   417.0 ±  1%       ~ (p=0.675 n=7)
Update/sqlite/128-workers-4               439.0 ± 82%   433.0 ±  3%       ~ (p=0.259 n=7)
Update/dqlite/1-workers-4                 381.0 ±  0%   381.0 ±  0%       ~ (p=1.000 n=7) ¹
Update/dqlite/4-workers-4                 382.0 ±  0%   381.0 ±  0%       ~ (p=0.286 n=7)
Update/dqlite/16-workers-4                383.0 ±  1%   382.0 ±  1%       ~ (p=0.221 n=7)
Update/dqlite/64-workers-4                390.0 ±  3%   388.0 ±  3%       ~ (p=1.000 n=7)
Update/dqlite/128-workers-4               398.0 ±  3%   400.0 ±  4%       ~ (p=0.270 n=7)
geomean                                   170.9         171.3        +0.25%
¹ all samples are equal

                                        │        Before         │                    After                    │
                                        │ network-bytes-read/op │ network-bytes-read/op  vs base              │
Compaction/dqlite-4                               1.839Ki ± 67%           1.852Ki ± 67%       ~ (p=0.535 n=7)
Create/dqlite/1-workers-4                           241.1 ±  0%             241.2 ±  0%       ~ (p=0.534 n=7)
Create/dqlite/4-workers-4                           241.9 ±  0%             242.1 ±  0%       ~ (p=0.686 n=7)
Create/dqlite/16-workers-4                          241.7 ±  0%             242.1 ±  0%       ~ (p=0.103 n=7)
Create/dqlite/64-workers-4                          241.7 ±  0%             242.1 ±  0%  +0.17% (p=0.010 n=7)
Create/dqlite/128-workers-4                         241.8 ±  1%             241.7 ±  5%       ~ (p=0.928 n=7)
Delete/dqlite/1-workers-4                           717.8 ±  0%             717.9 ±  0%       ~ (p=0.734 n=7)
Delete/dqlite/4-workers-4                           718.9 ±  0%             719.3 ±  0%       ~ (p=0.135 n=7)
Delete/dqlite/16-workers-4                          718.7 ± 12%             719.6 ± 10%       ~ (p=0.172 n=7)
Delete/dqlite/64-workers-4                          719.2 ±  0%             719.5 ± 12%       ~ (p=0.597 n=7)
Delete/dqlite/128-workers-4                         718.8 ± 12%             718.8 ± 12%       ~ (p=0.534 n=7)
Get/dqlite-4                                      1.133Ki ±  0%           1.133Ki ±  0%       ~ (p=1.000 n=7)
List/dqlite-tiny/all-4                              215.2 ±  3%             211.1 ±  8%       ~ (p=0.128 n=7)
List/dqlite-tiny/pagination-4                       199.0 ±  2%             199.0 ±  2%       ~ (p=0.929 n=7)
List/dqlite-fits-in-page/all-4                    1.389Ki ±  2%           1.378Ki ±  2%       ~ (p=0.274 n=7)
List/dqlite-fits-in-page/pagination-4             1.311Ki ±  3%           1.323Ki ±  6%       ~ (p=0.061 n=7)
List/dqlite-overflows-page/all-4                  7.049Ki ±  2%           7.110Ki ±  2%       ~ (p=0.383 n=7)
List/dqlite-overflows-page/pagination-4           7.136Ki ±  4%           7.079Ki ±  8%       ~ (p=0.874 n=7)
Update/dqlite/1-workers-4                           262.9 ±  0%             262.9 ±  0%       ~ (p=0.731 n=7)
Update/dqlite/4-workers-4                           263.3 ±  0%             263.1 ±  0%       ~ (p=0.169 n=7)
Update/dqlite/16-workers-4                          264.3 ±  0%             263.6 ±  1%       ~ (p=0.151 n=7)
Update/dqlite/64-workers-4                          268.9 ±  3%             267.6 ±  3%       ~ (p=1.000 n=7)
Update/dqlite/128-workers-4                         274.1 ±  3%             275.7 ±  4%       ~ (p=0.383 n=7)
geomean                                             565.3                   565.1        -0.02%

                                        │          Before          │                     After                      │
                                        │ network-bytes-written/op │ network-bytes-written/op  vs base              │
Compaction/dqlite-4                                    4.510 ± 10%                4.530 ± 11%       ~ (p=0.535 n=7)
Create/dqlite/1-workers-4                              115.2 ±  1%                115.7 ±  2%       ~ (p=0.366 n=7)
Create/dqlite/4-workers-4                              116.9 ±  1%                117.2 ±  1%       ~ (p=0.682 n=7)
Create/dqlite/16-workers-4                             116.5 ±  1%                117.1 ±  1%       ~ (p=0.174 n=7)
Create/dqlite/64-workers-4                             116.6 ±  1%                117.4 ±  1%  +0.69% (p=0.004 n=7)
Create/dqlite/128-workers-4                            116.6 ±  2%                116.5 ±  3%       ~ (p=0.884 n=7)
Delete/dqlite/1-workers-4                              82.45 ±  1%                82.50 ±  1%       ~ (p=0.402 n=7)
Delete/dqlite/4-workers-4                              82.96 ±  1%                83.11 ±  0%       ~ (p=0.154 n=7)
Delete/dqlite/16-workers-4                             82.86 ± 34%                83.11 ± 28%       ~ (p=0.209 n=7)
Delete/dqlite/64-workers-4                             83.06 ±  0%                83.17 ± 33%       ~ (p=0.513 n=7)
Delete/dqlite/128-workers-4                            82.91 ± 34%                82.91 ± 34%       ~ (p=0.686 n=7)
Get/dqlite-4                                           80.57 ±  0%                80.56 ±  0%       ~ (p=0.576 n=7)
List/dqlite-tiny/all-4                               0.04787 ±  5%              0.04616 ± 15%       ~ (p=0.073 n=7)
List/dqlite-tiny/pagination-4                        0.05052 ±  7%              0.04722 ± 14%       ~ (p=0.128 n=7)
List/dqlite-fits-in-page/all-4                       0.06379 ±  3%              0.06338 ±  3%       ~ (p=0.259 n=7)
List/dqlite-fits-in-page/pagination-4                0.08496 ± 10%              0.08315 ± 12%       ~ (p=1.000 n=7)
List/dqlite-overflows-page/all-4                     0.07935 ±  3%              0.08032 ±  2%       ~ (p=0.383 n=7)
List/dqlite-overflows-page/pagination-4               0.1330 ± 19%               0.1298 ± 16%       ~ (p=0.535 n=7)
Update/dqlite/1-workers-4                              136.7 ±  0%                136.7 ±  0%       ~ (p=0.965 n=7)
Update/dqlite/4-workers-4                              136.8 ±  0%                136.6 ±  0%       ~ (p=0.143 n=7)
Update/dqlite/16-workers-4                             137.5 ±  1%                137.1 ±  1%       ~ (p=0.300 n=7)
Update/dqlite/64-workers-4                             140.1 ±  2%                139.5 ±  2%       ~ (p=0.971 n=7)
Update/dqlite/128-workers-4                            142.8 ±  2%                143.6 ±  4%       ~ (p=0.402 n=7)
geomean                                                13.96                      13.89        -0.51%
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                       19.83µ ±    9%
Compaction/dqlite-4                       41.85µ ±   14%
Create/sqlite/1-workers-4                 497.1µ ±    5%
Create/sqlite/4-workers-4                 466.2µ ±    3%
Create/sqlite/16-workers-4                457.4µ ±    7%
Create/sqlite/64-workers-4                438.2µ ±  321%
Create/sqlite/128-workers-4               713.3µ ±   78%
Create/dqlite/1-workers-4                 1.040m ±    8%
Create/dqlite/4-workers-4                 958.1µ ±    4%
Create/dqlite/16-workers-4                948.6µ ±    3%
Create/dqlite/64-workers-4                964.0µ ±    9%
Create/dqlite/128-workers-4               967.5µ ±    5%
Delete/sqlite/1-workers-4                 478.2µ ±    5%
Delete/sqlite/4-workers-4                 469.5µ ±    5%
Delete/sqlite/16-workers-4                418.6µ ±    6%
Delete/sqlite/64-workers-4                522.5µ ± 1912%
Delete/sqlite/128-workers-4               555.4µ ±   28%
Delete/dqlite/1-workers-4                 1.054m ±    4%
Delete/dqlite/4-workers-4                 923.4µ ±    5%
Delete/dqlite/16-workers-4                935.5µ ±    7%
Delete/dqlite/64-workers-4                927.9µ ±    8%
Delete/dqlite/128-workers-4               941.8µ ±    5%
Get/sqlite-4                              232.7µ ±    1%
Get/dqlite-4                              356.7µ ±    1%
List/sqlite-tiny/all-4                    4.131µ ±   10%
List/sqlite-tiny/pagination-4             8.221µ ±    2%
List/sqlite-fits-in-page/all-4            7.679µ ±    5%
List/sqlite-fits-in-page/pagination-4     22.05µ ±    6%
List/sqlite-overflows-page/all-4          17.25µ ±    4%
List/sqlite-overflows-page/pagination-4   43.21µ ±    7%
List/dqlite-tiny/all-4                    2.921µ ±    5%
List/dqlite-tiny/pagination-4             6.080µ ±    3%
List/dqlite-fits-in-page/all-4            6.683µ ±    4%
List/dqlite-fits-in-page/pagination-4     17.33µ ±    2%
List/dqlite-overflows-page/all-4          21.64µ ±    3%
List/dqlite-overflows-page/pagination-4   45.16µ ±    4%
Update/sqlite/1-workers-4                 480.4µ ±    3%
Update/sqlite/4-workers-4                 480.3µ ±    3%
Update/sqlite/16-workers-4                430.3µ ±   14%
Update/sqlite/64-workers-4                453.0µ ±   49%
Update/sqlite/128-workers-4               691.4µ ±   18%
Update/dqlite/1-workers-4                 1.078m ±    6%
Update/dqlite/4-workers-4                 966.7µ ±    2%
Update/dqlite/16-workers-4                931.9µ ±   11%
Update/dqlite/64-workers-4                968.4µ ±    7%
Update/dqlite/128-workers-4               1.003m ±    7%
geomean                                   202.0µ

                                        │        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 ±  2%
Compaction/dqlite-4                         12.21 ±  1%
Create/sqlite/1-workers-4                   13.89 ±  0%
Create/sqlite/4-workers-4                   12.60 ±  2%
Create/sqlite/16-workers-4                  11.00 ±  3%
Create/sqlite/64-workers-4                  8.796 ±  8%
Create/sqlite/128-workers-4                 8.407 ±  6%
Create/dqlite/1-workers-4                   13.19 ±  3%
Create/dqlite/4-workers-4                   10.87 ±  1%
Create/dqlite/16-workers-4                  10.97 ±  1%
Create/dqlite/64-workers-4                  10.95 ±  2%
Create/dqlite/128-workers-4                 10.98 ±  1%
Delete/sqlite/1-workers-4                   16.22 ±  0%
Delete/sqlite/4-workers-4                   14.68 ±  1%
Delete/sqlite/16-workers-4                  11.90 ±  5%
Delete/sqlite/64-workers-4                  10.12 ± 20%
Delete/sqlite/128-workers-4                 9.457 ±  5%
Delete/dqlite/1-workers-4                   15.66 ±  1%
Delete/dqlite/4-workers-4                   13.28 ±  0%
Delete/dqlite/16-workers-4                  13.25 ±  1%
Delete/dqlite/64-workers-4                  13.20 ±  2%
Delete/dqlite/128-workers-4                 13.10 ±  4%
Get/sqlite-4                                14.95 ±  0%
Get/dqlite-4                                11.96 ±  0%
List/sqlite-tiny/all-4                     192.8m ±  1%
List/sqlite-tiny/pagination-4               1.131 ±  0%
List/sqlite-fits-in-page/all-4             163.2m ±  1%
List/sqlite-fits-in-page/pagination-4      960.3m ±  3%
List/sqlite-overflows-page/all-4           177.1m ±  0%
List/sqlite-overflows-page/pagination-4     1.731 ± 41%
List/dqlite-tiny/all-4                     191.5m ±  0%
List/dqlite-tiny/pagination-4               1.126 ±  3%
List/dqlite-fits-in-page/all-4             164.2m ±  0%
List/dqlite-fits-in-page/pagination-4      955.2m ±  3%
List/dqlite-overflows-page/all-4           184.2m ±  0%
List/dqlite-overflows-page/pagination-4     1.071 ±  3%
Update/sqlite/1-workers-4                   15.84 ±  0%
Update/sqlite/4-workers-4                   14.60 ±  3%
Update/sqlite/16-workers-4                  12.87 ±  4%
Update/sqlite/64-workers-4                  11.22 ±  6%
Update/sqlite/128-workers-4                 10.85 ±  6%
Update/dqlite/1-workers-4                   15.29 ±  0%
Update/dqlite/4-workers-4                   12.77 ±  1%
Update/dqlite/16-workers-4                  12.64 ±  2%
Update/dqlite/64-workers-4                  12.90 ±  3%
Update/dqlite/128-workers-4                 13.23 ±  4%
geomean                                     5.217

                                        │     After      │
                                        │ page-writes/op │
Compaction/sqlite-4                        190.5m ± 0%
Compaction/dqlite-4                        187.6m ± 1%
Create/sqlite/1-workers-4                   4.358 ± 0%
Create/sqlite/4-workers-4                   4.322 ± 1%
Create/sqlite/16-workers-4                  4.283 ± 1%
Create/sqlite/64-workers-4                  4.259 ± 5%
Create/sqlite/128-workers-4                 4.194 ± 2%
Create/dqlite/1-workers-4                   4.251 ± 2%
Create/dqlite/4-workers-4                   4.300 ± 1%
Create/dqlite/16-workers-4                  4.298 ± 0%
Create/dqlite/64-workers-4                  4.315 ± 1%
Create/dqlite/128-workers-4                 4.294 ± 1%
Delete/sqlite/1-workers-4                   4.390 ± 0%
Delete/sqlite/4-workers-4                   4.399 ± 1%
Delete/sqlite/16-workers-4                  4.370 ± 1%
Delete/sqlite/64-workers-4                  4.354 ± 5%
Delete/sqlite/128-workers-4                 4.356 ± 2%
Delete/dqlite/1-workers-4                   4.364 ± 1%
Delete/dqlite/4-workers-4                   4.374 ± 0%
Delete/dqlite/16-workers-4                  4.370 ± 0%
Delete/dqlite/64-workers-4                  4.369 ± 1%
Delete/dqlite/128-workers-4                 4.356 ± 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.249 ± 0%
Update/sqlite/4-workers-4                   4.309 ± 1%
Update/sqlite/16-workers-4                  4.317 ± 1%
Update/sqlite/64-workers-4                  4.372 ± 1%
Update/sqlite/128-workers-4                 4.512 ± 4%
Update/dqlite/1-workers-4                   4.208 ± 0%
Update/dqlite/4-workers-4                   4.206 ± 0%
Update/dqlite/16-workers-4                  4.241 ± 1%
Update/dqlite/64-workers-4                  4.304 ± 3%
Update/dqlite/128-workers-4                 4.462 ± 4%
geomean                                                ¹
¹ summaries must be >0 to compute geomean

                                        │     After      │
                                        │ sec-reading/op │
Compaction/sqlite-4                         27.80µ ± 35%
Compaction/dqlite-4                         29.50µ ± 49%
Create/sqlite/1-workers-4                   17.60µ ± 23%
Create/sqlite/4-workers-4                   17.00µ ± 49%
Create/sqlite/16-workers-4                  21.10µ ± 26%
Create/sqlite/64-workers-4                  21.20µ ± 22%
Create/sqlite/128-workers-4                 23.50µ ± 19%
Create/dqlite/1-workers-4                   11.90µ ± 51%
Create/dqlite/4-workers-4                   11.60µ ± 23%
Create/dqlite/16-workers-4                  11.80µ ± 64%
Create/dqlite/64-workers-4                  12.10µ ± 49%
Create/dqlite/128-workers-4                 10.70µ ± 25%
Delete/sqlite/1-workers-4                   28.10µ ± 22%
Delete/sqlite/4-workers-4                   31.40µ ± 20%
Delete/sqlite/16-workers-4                  36.10µ ± 13%
Delete/sqlite/64-workers-4                  35.50µ ± 69%
Delete/sqlite/128-workers-4                 39.10µ ± 21%
Delete/dqlite/1-workers-4                   17.20µ ± 20%
Delete/dqlite/4-workers-4                   16.70µ ± 51%
Delete/dqlite/16-workers-4                  16.50µ ± 24%
Delete/dqlite/64-workers-4                  14.30µ ± 46%
Delete/dqlite/128-workers-4                 16.50µ ± 42%
Get/sqlite-4                                67.10µ ±  9%
Get/dqlite-4                                32.70µ ± 17%
List/sqlite-tiny/all-4                      7.700µ ± 27%
List/sqlite-tiny/pagination-4               14.60µ ±  2%
List/sqlite-fits-in-page/all-4              12.50µ ± 14%
List/sqlite-fits-in-page/pagination-4       34.20µ ± 13%
List/sqlite-overflows-page/all-4            13.40µ ±  5%
List/sqlite-overflows-page/pagination-4     50.90µ ± 33%
List/dqlite-tiny/all-4                      4.000µ ± 10%
List/dqlite-tiny/pagination-4               9.300µ ± 20%
List/dqlite-fits-in-page/all-4              10.70µ ± 13%
List/dqlite-fits-in-page/pagination-4       25.60µ ± 19%
List/dqlite-overflows-page/all-4            35.20µ ± 15%
List/dqlite-overflows-page/pagination-4     68.30µ ± 12%
Update/sqlite/1-workers-4                   19.50µ ± 27%
Update/sqlite/4-workers-4                   22.80µ ± 29%
Update/sqlite/16-workers-4                  21.70µ ± 13%
Update/sqlite/64-workers-4                  22.60µ ± 25%
Update/sqlite/128-workers-4                 22.90µ ± 25%
Update/dqlite/1-workers-4                   9.000µ ± 47%
Update/dqlite/4-workers-4                   13.10µ ± 49%
Update/dqlite/16-workers-4                  11.90µ ± 15%
Update/dqlite/64-workers-4                  12.80µ ± 30%
Update/dqlite/128-workers-4                 13.50µ ± 33%
geomean                                     18.94µ

                                        │      After      │
                                        │ sec-writing/op  │
Compaction/sqlite-4                       9.200µ ±  13%
Compaction/dqlite-4                       6.700µ ±  12%
Create/sqlite/1-workers-4                 275.4µ ±  10%
Create/sqlite/4-workers-4                 1.470m ±   8%
Create/sqlite/16-workers-4                5.347m ±   5%
Create/sqlite/64-workers-4                17.38m ±  76%
Create/sqlite/128-workers-4               36.12m ±  27%
Create/dqlite/1-workers-4                 46.60µ ±  25%
Create/dqlite/4-workers-4                 46.90µ ±  19%
Create/dqlite/16-workers-4                46.50µ ±  20%
Create/dqlite/64-workers-4                48.50µ ±  18%
Create/dqlite/128-workers-4               45.80µ ±  26%
Delete/sqlite/1-workers-4                 259.6µ ±   9%
Delete/sqlite/4-workers-4                 1.461m ±   8%
Delete/sqlite/16-workers-4                5.192m ±   9%
Delete/sqlite/64-workers-4                18.30m ± 368%
Delete/sqlite/128-workers-4               34.72m ±  17%
Delete/dqlite/1-workers-4                 39.30µ ±  27%
Delete/dqlite/4-workers-4                 41.80µ ±  31%
Delete/dqlite/16-workers-4                50.10µ ±  33%
Delete/dqlite/64-workers-4                47.20µ ±  40%
Delete/dqlite/128-workers-4               51.30µ ±  11%
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                 259.1µ ±   7%
Update/sqlite/4-workers-4                 1.444m ±  10%
Update/sqlite/16-workers-4                5.251m ±   7%
Update/sqlite/64-workers-4                17.88m ±   7%
Update/sqlite/128-workers-4               35.85m ±  10%
Update/dqlite/1-workers-4                 41.10µ ±  35%
Update/dqlite/4-workers-4                 46.70µ ±  15%
Update/dqlite/16-workers-4                42.50µ ±  22%
Update/dqlite/64-workers-4                47.70µ ±  18%
Update/dqlite/128-workers-4               48.70µ ±  12%
geomean                                                 ¹
¹ summaries must be >0 to compute geomean

                                        │     After     │
                                        │     B/op      │
Compaction/sqlite-4                       2.358Ki ± 41%
Compaction/dqlite-4                       5.128Ki ± 65%
Create/sqlite/1-workers-4                 20.50Ki ±  0%
Create/sqlite/4-workers-4                 20.49Ki ±  0%
Create/sqlite/16-workers-4                20.49Ki ±  0%
Create/sqlite/64-workers-4                20.49Ki ±  2%
Create/sqlite/128-workers-4               20.62Ki ±  1%
Create/dqlite/1-workers-4                 19.74Ki ±  0%
Create/dqlite/4-workers-4                 19.72Ki ±  0%
Create/dqlite/16-workers-4                19.72Ki ±  0%
Create/dqlite/64-workers-4                19.73Ki ±  0%
Create/dqlite/128-workers-4               19.75Ki ±  2%
Delete/sqlite/1-workers-4                 22.93Ki ±  0%
Delete/sqlite/4-workers-4                 22.92Ki ±  0%
Delete/sqlite/16-workers-4                22.89Ki ±  0%
Delete/sqlite/64-workers-4                22.93Ki ± 10%
Delete/sqlite/128-workers-4               22.97Ki ±  1%
Delete/dqlite/1-workers-4                 22.01Ki ±  0%
Delete/dqlite/4-workers-4                 21.98Ki ±  0%
Delete/dqlite/16-workers-4                21.98Ki ±  9%
Delete/dqlite/64-workers-4                21.99Ki ± 10%
Delete/dqlite/128-workers-4               22.01Ki ± 10%
Get/sqlite-4                              24.42Ki ±  0%
Get/dqlite-4                              23.25Ki ±  0%
List/sqlite-tiny/all-4                    1.236Ki ± 13%
List/sqlite-tiny/pagination-4             1.590Ki ±  3%
List/sqlite-fits-in-page/all-4            7.118Ki ± 12%
List/sqlite-fits-in-page/pagination-4     9.812Ki ± 15%
List/sqlite-overflows-page/all-4          20.54Ki ±  0%
List/sqlite-overflows-page/pagination-4   31.73Ki ± 43%
List/dqlite-tiny/all-4                    1.047Ki ± 10%
List/dqlite-tiny/pagination-4               980.0 ±  3%
List/dqlite-fits-in-page/all-4            6.114Ki ±  9%
List/dqlite-fits-in-page/pagination-4     5.484Ki ±  9%
List/dqlite-overflows-page/all-4          30.50Ki ±  9%
List/dqlite-overflows-page/pagination-4   29.55Ki ±  4%
Update/sqlite/1-workers-4                 22.27Ki ±  0%
Update/sqlite/4-workers-4                 22.29Ki ±  0%
Update/sqlite/16-workers-4                22.32Ki ±  0%
Update/sqlite/64-workers-4                22.59Ki ±  1%
Update/sqlite/128-workers-4               23.41Ki ±  3%
Update/dqlite/1-workers-4                 21.49Ki ±  0%
Update/dqlite/4-workers-4                 21.48Ki ±  0%
Update/dqlite/16-workers-4                21.54Ki ±  1%
Update/dqlite/64-workers-4                21.89Ki ±  3%
Update/dqlite/128-workers-4               22.54Ki ±  4%
geomean                                   14.40Ki

                                        │    After    │
                                        │  allocs/op  │
Compaction/sqlite-4                       51.00 ± 43%
Compaction/dqlite-4                       123.0 ± 66%
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                399.0 ±  1%
Create/sqlite/128-workers-4               400.0 ±  1%
Create/dqlite/1-workers-4                 369.0 ±  0%
Create/dqlite/4-workers-4                 369.0 ±  0%
Create/dqlite/16-workers-4                369.0 ±  0%
Create/dqlite/64-workers-4                368.0 ±  0%
Create/dqlite/128-workers-4               368.0 ±  2%
Delete/sqlite/1-workers-4                 431.0 ±  0%
Delete/sqlite/4-workers-4                 431.0 ±  0%
Delete/sqlite/16-workers-4                430.0 ±  0%
Delete/sqlite/64-workers-4                430.0 ±  2%
Delete/sqlite/128-workers-4               430.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 ± 11%
Delete/dqlite/64-workers-4                399.0 ± 13%
Delete/dqlite/128-workers-4               399.0 ± 13%
Get/sqlite-4                              445.0 ±  0%
Get/dqlite-4                              412.0 ±  0%
List/sqlite-tiny/all-4                    18.00 ± 22%
List/sqlite-tiny/pagination-4             25.00 ±  4%
List/sqlite-fits-in-page/all-4            19.00 ± 21%
List/sqlite-fits-in-page/pagination-4     33.00 ± 24%
List/sqlite-overflows-page/all-4          9.000 ±  0%
List/sqlite-overflows-page/pagination-4   20.00 ± 60%
List/dqlite-tiny/all-4                    14.00 ±  7%
List/dqlite-tiny/pagination-4             14.00 ±  7%
List/dqlite-fits-in-page/all-4            20.00 ±  0%
List/dqlite-fits-in-page/pagination-4     19.00 ±  5%
List/dqlite-overflows-page/all-4          34.00 ±  3%
List/dqlite-overflows-page/pagination-4   34.00 ±  6%
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                417.0 ±  1%
Update/sqlite/128-workers-4               433.0 ±  3%
Update/dqlite/1-workers-4                 381.0 ±  0%
Update/dqlite/4-workers-4                 381.0 ±  0%
Update/dqlite/16-workers-4                382.0 ±  1%
Update/dqlite/64-workers-4                388.0 ±  3%
Update/dqlite/128-workers-4               400.0 ±  4%
geomean                                   171.3

                                        │         After         │
                                        │ network-bytes-read/op │
Compaction/dqlite-4                               1.852Ki ± 67%
Create/dqlite/1-workers-4                           241.2 ±  0%
Create/dqlite/4-workers-4                           242.1 ±  0%
Create/dqlite/16-workers-4                          242.1 ±  0%
Create/dqlite/64-workers-4                          242.1 ±  0%
Create/dqlite/128-workers-4                         241.7 ±  5%
Delete/dqlite/1-workers-4                           717.9 ±  0%
Delete/dqlite/4-workers-4                           719.3 ±  0%
Delete/dqlite/16-workers-4                          719.6 ± 10%
Delete/dqlite/64-workers-4                          719.5 ± 12%
Delete/dqlite/128-workers-4                         718.8 ± 12%
Get/dqlite-4                                      1.133Ki ±  0%
List/dqlite-tiny/all-4                              211.1 ±  8%
List/dqlite-tiny/pagination-4                       199.0 ±  2%
List/dqlite-fits-in-page/all-4                    1.378Ki ±  2%
List/dqlite-fits-in-page/pagination-4             1.323Ki ±  6%
List/dqlite-overflows-page/all-4                  7.110Ki ±  2%
List/dqlite-overflows-page/pagination-4           7.079Ki ±  8%
Update/dqlite/1-workers-4                           262.9 ±  0%
Update/dqlite/4-workers-4                           263.1 ±  0%
Update/dqlite/16-workers-4                          263.6 ±  1%
Update/dqlite/64-workers-4                          267.6 ±  3%
Update/dqlite/128-workers-4                         275.7 ±  4%
geomean                                             565.1

                                        │          After           │
                                        │ network-bytes-written/op │
Compaction/dqlite-4                                    4.530 ± 11%
Create/dqlite/1-workers-4                              115.7 ±  2%
Create/dqlite/4-workers-4                              117.2 ±  1%
Create/dqlite/16-workers-4                             117.1 ±  1%
Create/dqlite/64-workers-4                             117.4 ±  1%
Create/dqlite/128-workers-4                            116.5 ±  3%
Delete/dqlite/1-workers-4                              82.50 ±  1%
Delete/dqlite/4-workers-4                              83.11 ±  0%
Delete/dqlite/16-workers-4                             83.11 ± 28%
Delete/dqlite/64-workers-4                             83.17 ± 33%
Delete/dqlite/128-workers-4                            82.91 ± 34%
Get/dqlite-4                                           80.56 ±  0%
List/dqlite-tiny/all-4                               0.04616 ± 15%
List/dqlite-tiny/pagination-4                        0.04722 ± 14%
List/dqlite-fits-in-page/all-4                       0.06338 ±  3%
List/dqlite-fits-in-page/pagination-4                0.08315 ± 12%
List/dqlite-overflows-page/all-4                     0.08032 ±  2%
List/dqlite-overflows-page/pagination-4               0.1298 ± 16%
Update/dqlite/1-workers-4                              136.7 ±  0%
Update/dqlite/4-workers-4                              136.6 ±  0%
Update/dqlite/16-workers-4                             137.1 ±  1%
Update/dqlite/64-workers-4                             139.5 ±  2%
Update/dqlite/128-workers-4                            143.6 ±  4%
geomean                                                13.89

@louiseschmidtgen louiseschmidtgen changed the base branch from master to KU-1866/performance-test November 11, 2024 20:06
@louiseschmidtgen louiseschmidtgen force-pushed the KU-1874/performance-workload branch from 545a749 to cc45bae Compare November 12, 2024 08:51
@louiseschmidtgen louiseschmidtgen changed the base branch from KU-1866/performance-test to master November 12, 2024 18:28
@louiseschmidtgen louiseschmidtgen force-pushed the KU-1874/performance-workload branch from cc45bae to 5df8323 Compare November 13, 2024 08:37
@louiseschmidtgen louiseschmidtgen marked this pull request as ready for review November 13, 2024 08:38
@louiseschmidtgen louiseschmidtgen requested a review from a team as a code owner November 13, 2024 08:38
Copy link
Contributor

@HomayoonAlimohammadi HomayoonAlimohammadi left a comment

Choose a reason for hiding this comment

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

Great work! Thanks a lot @louiseschmidtgen! Overall LGTM, just some minor comments and questions. Feel free to ignore the nits.

test/performance/tests/conftest.py Show resolved Hide resolved
test/performance/tests/test_performance.py Outdated Show resolved Hide resolved
test/performance/tests/test_performance.py Outdated Show resolved Hide resolved
test/performance/tests/test_performance.py Outdated Show resolved Hide resolved
test/performance/tests/test_performance.py Outdated Show resolved Hide resolved
test/performance/tests/test_performance.py Outdated Show resolved Hide resolved
test/performance/tests/test_util/harness/lxd.py Outdated Show resolved Hide resolved
test/performance/tests/test_util/util.py Show resolved Hide resolved
test/performance/tests/test_util/util.py Show resolved Hide resolved
test/performance/tests/test_util/util.py Outdated Show resolved Hide resolved
name: secret-{{.Replica}}
type: Opaque
data:
password: Zm9vb29vb29vb29vb29vbwo=
Copy link

Choose a reason for hiding this comment

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

echo "Zm9vb29vb29vb29vb29vbwo=" | base64 -d 
fooooooooooooooo

Comment on lines +165 to +166
if ">" in " ".join(command):
command_str = " ".join(command)
Copy link
Contributor Author

Choose a reason for hiding this comment

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

The shlex.join doesn't work with special characters so if my command has a ">" in it I am doing a regular join.

Copy link

@addyess addyess left a comment

Choose a reason for hiding this comment

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

Tests look like they work with the interesting redirects + background exec calls. Let's ship it. We can pull it back together with a library at some point perhaps

@louiseschmidtgen louiseschmidtgen merged commit 81298dd into master Nov 14, 2024
9 checks passed
@louiseschmidtgen louiseschmidtgen deleted the KU-1874/performance-workload branch November 14, 2024 09:53
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