mirror of
https://github.com/lana-k/sqliteviz.git
synced 2025-12-06 10:08:52 +08:00
* Update to sql.js 1.7.0 * Update to emsdk 3.0.1, replace/remove deprecated/irrelevant settings - Renamed .bc extension to .o - Remove deprecated INLINING_LIMIT setting - Remove SINGLE_FILE * Update SQLite to 3.39.3 * Collect and plot CPU and RSS charts from the benchmark containers * Move procpath commands to a playbook, plot only top 2 RSS & CPU usage * Optimise for size, put -flto for both compile and link
26 lines
1.1 KiB
Markdown
26 lines
1.1 KiB
Markdown
# 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][1] 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.json`
|
|
- `build-$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).
|
|
|
|
[1]: https://pypi.org/project/Procpath/
|