mirror of
https://github.com/aljazceru/turso.git
synced 2025-12-26 12:34:22 +01:00
73 lines
1.6 KiB
Markdown
73 lines
1.6 KiB
Markdown
# Performance Testing
|
|
|
|
## Mobibench
|
|
|
|
1. Clone the source repository of Mobibench fork for Limbo:
|
|
|
|
```console
|
|
git clone git@github.com:penberg/Mobibench.git
|
|
```
|
|
|
|
2. Change `LIBS` in `shell/Makefile` to point to your Limbo source repository.
|
|
|
|
3. Build Mobibench:
|
|
|
|
```console
|
|
cd shell && make
|
|
```
|
|
|
|
4. Run Mobibench:
|
|
|
|
```console
|
|
./mobibench -p <benchmark-directory> -n 1000 -d 0 -j 4
|
|
```
|
|
|
|
## Clickbench
|
|
|
|
We have a modified version of the Clickbench benchmark script that can be run with:
|
|
|
|
```shell
|
|
make clickbench
|
|
```
|
|
|
|
This will build Limbo in release mode, create a database, and run the benchmarks with a small subset of the Clickbench dataset.
|
|
It will run the queries for both Limbo and SQLite, and print the results.
|
|
|
|
|
|
|
|
## Comparing VFS's/IO Back-ends (io_uring | syscall)
|
|
|
|
```shell
|
|
make bench-vfs SQL="select * from users;" N=500
|
|
```
|
|
|
|
The naive script will build and run limbo in release mode and execute the given SQL (against a copy of the `testing/testing.db` file)
|
|
`N` times with each `vfs`. This is not meant to be a definitive or thorough performance benchmark but serves to compare the two.
|
|
|
|
|
|
## TPC-H
|
|
|
|
1. Clone the Taratool TPC-H benchmarking tool:
|
|
|
|
```shell
|
|
git clone git@github.com:tarantool/tpch.git
|
|
```
|
|
|
|
2. Patch the benchmark runner script:
|
|
|
|
```patch
|
|
diff --git a/bench_queries.sh b/bench_queries.sh
|
|
index 6b894f9..c808e9a 100755
|
|
--- a/bench_queries.sh
|
|
+++ b/bench_queries.sh
|
|
@@ -4,7 +4,7 @@ function check_q {
|
|
local query=queries/$*.sql
|
|
(
|
|
echo $query
|
|
- time ( sqlite3 TPC-H.db < $query > /dev/null )
|
|
+ time ( ../../limbo/target/release/limbo -m list TPC-H.db < $query > /dev/null )
|
|
)
|
|
}
|
|
```
|
|
|