* Update base Docker images * Use performance.now() instead of Date.now() for time promise tests * Build sqlitelua: user scalar, aggregate & table-valued functions in Lua
SQLite WebAssembly build micro-benchmark
This directory contains a micro-benchmark for evaluating SQLite WebAssembly
builds performance on read and write SQL queries, run from make.sh script. If
the script has permission to nice processes and Procpath is installed,
e.g. it is run with sudo -E env PATH=$PATH ./make.sh, it'll renice all
processes running inside the benchmark containers. It can also serve as a smoke
test (e.g. for memory leaks).
The benchmark operates on a set of SQLite WebAssembly builds expected in
lib/build-$NAME directories each containing sql-wasm.js and
sql-wasm.wasm. Then it creates a Docker image for each, and runs the
benchmark in Firefox and Chromium using Karma in the container.
After successful run, the benchmark produces the following per each build:
build-$NAME-result.jsonbuild-$NAME.sqlite(if Procpath is installed)build-$NAME.svg(if Procpath is installed)
These files can be analysed using result-analysis.ipynb Jupyter notebook.
The SVG is a chart with CPU and RSS usage of each test container (i.e. Chromium
run, then Firefox run per container).