mirror of
https://github.com/aljazceru/turso.git
synced 2025-12-27 13:04:20 +01:00
I am not changing any package names - I'd rather Pekka do that so he can verifies it works, or things that look like references to external entities mentioning limbo. All the rest is changed.
73 lines
1.6 KiB
Markdown
73 lines
1.6 KiB
Markdown
# Performance Testing
|
|
|
|
## Mobibench
|
|
|
|
1. Clone the source repository of Mobibench fork for Turso:
|
|
|
|
```console
|
|
git clone git@github.com:penberg/Mobibench.git
|
|
```
|
|
|
|
2. Change `LIBS` in `shell/Makefile` to point to your Turso 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 Turso 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 Turso 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 )
|
|
)
|
|
}
|
|
```
|
|
|