diff --git a/.github/workflows/benchmark_asterinas.yml b/.github/workflows/benchmark_asterinas.yml index 12aafbd0..6d4d6a6c 100644 --- a/.github/workflows/benchmark_asterinas.yml +++ b/.github/workflows/benchmark_asterinas.yml @@ -80,6 +80,7 @@ jobs: - redis/set_100k_conc20_rps # SQLite benchmarks - sqlite/ext2_benchmarks + - sqlite/ramfs_benchmarks fail-fast: false timeout-minutes: 60 container: diff --git a/test/benchmark/sqlite/ramfs_benchmarks/bench_results/ramfs_deletes_between.json b/test/benchmark/sqlite/ramfs_benchmarks/bench_results/ramfs_deletes_between.json new file mode 100644 index 00000000..fd3f441a --- /dev/null +++ b/test/benchmark/sqlite/ramfs_benchmarks/bench_results/ramfs_deletes_between.json @@ -0,0 +1,16 @@ +{ + "alert": { + "threshold": "125%", + "bigger_is_better": false + }, + "result_extraction": { + "search_pattern": "100000 DELETEs, numeric BETWEEN, indexed....", + "result_index": 8 + }, + "chart": { + "title": "[Ramfs] The deletes-between result of sqlite speedtest", + "description": "sqlite-speed-test: 10000 DELETEs, numeric BETWEEN, indexed", + "unit": "second", + "legend": "The speed of deletes-between on {system} (Ramfs)" + } +} \ No newline at end of file diff --git a/test/benchmark/sqlite/ramfs_benchmarks/bench_results/ramfs_deletes_individual.json b/test/benchmark/sqlite/ramfs_benchmarks/bench_results/ramfs_deletes_individual.json new file mode 100644 index 00000000..8e89b122 --- /dev/null +++ b/test/benchmark/sqlite/ramfs_benchmarks/bench_results/ramfs_deletes_individual.json @@ -0,0 +1,16 @@ +{ + "alert": { + "threshold": "125%", + "bigger_is_better": false + }, + "result_extraction": { + "search_pattern": "500000 DELETEs of individual rows....", + "result_index": 8 + }, + "chart": { + "title": "[Ramfs] The deletes-individual result of sqlite speedtest", + "description": "sqlite-speed-test: 50000 DELETEs of individual rows", + "unit": "second", + "legend": "The speed of deletes-individual on {system} (Ramfs)" + } +} \ No newline at end of file diff --git a/test/benchmark/sqlite/ramfs_benchmarks/bench_results/ramfs_refill_replace.json b/test/benchmark/sqlite/ramfs_benchmarks/bench_results/ramfs_refill_replace.json new file mode 100644 index 00000000..ca073324 --- /dev/null +++ b/test/benchmark/sqlite/ramfs_benchmarks/bench_results/ramfs_refill_replace.json @@ -0,0 +1,16 @@ +{ + "alert": { + "threshold": "125%", + "bigger_is_better": false + }, + "result_extraction": { + "search_pattern": "Refill two 500000-row tables using REPLACE....", + "result_index": 9 + }, + "chart": { + "title": "[Ramfs] The refill-replace result of sqlite speedtest", + "description": "sqlite-speed-test: Refill two 50000-row tables using REPLACE", + "unit": "second", + "legend": "The speed of refill-replace on {system} (Ramfs)" + } +} \ No newline at end of file diff --git a/test/benchmark/sqlite/ramfs_benchmarks/bench_results/ramfs_selects_ipk.json b/test/benchmark/sqlite/ramfs_benchmarks/bench_results/ramfs_selects_ipk.json new file mode 100644 index 00000000..5fbf9ef1 --- /dev/null +++ b/test/benchmark/sqlite/ramfs_benchmarks/bench_results/ramfs_selects_ipk.json @@ -0,0 +1,16 @@ +{ + "alert": { + "threshold": "125%", + "bigger_is_better": false + }, + "result_extraction": { + "search_pattern": "700000 SELECTS on an IPK....", + "result_index": 8 + }, + "chart": { + "title": "[Ramfs] The selects-ipk result of sqlite speedtest", + "description": "sqlite-speed-test: 70000 SELECTS on an IPK", + "unit": "second", + "legend": "The speed of selects-ipk on {system} (Ramfs)" + } +} \ No newline at end of file diff --git a/test/benchmark/sqlite/ramfs_benchmarks/bench_results/ramfs_selects_text_pk.json b/test/benchmark/sqlite/ramfs_benchmarks/bench_results/ramfs_selects_text_pk.json new file mode 100644 index 00000000..9b364c19 --- /dev/null +++ b/test/benchmark/sqlite/ramfs_benchmarks/bench_results/ramfs_selects_text_pk.json @@ -0,0 +1,16 @@ +{ + "alert": { + "threshold": "125%", + "bigger_is_better": false + }, + "result_extraction": { + "search_pattern": "700000 SELECTS on a TEXT PK....", + "result_index": 9 + }, + "chart": { + "title": "[Ramfs] The selects-text-pk result of sqlite speedtest", + "description": "sqlite-speed-test: 70000 SELECTS on a TEXT PK", + "unit": "second", + "legend": "The speed of selects-text-pk on {system} (Ramfs)" + } +} \ No newline at end of file diff --git a/test/benchmark/sqlite/ramfs_benchmarks/bench_results/ramfs_total.json b/test/benchmark/sqlite/ramfs_benchmarks/bench_results/ramfs_total.json new file mode 100644 index 00000000..aa0e06a3 --- /dev/null +++ b/test/benchmark/sqlite/ramfs_benchmarks/bench_results/ramfs_total.json @@ -0,0 +1,16 @@ +{ + "alert": { + "threshold": "125%", + "bigger_is_better": false + }, + "result_extraction": { + "search_pattern": "TOTAL....", + "result_index": 2 + }, + "chart": { + "title": "[Ramfs] The total result of sqlite speedtest", + "description": "sqlite-speed-test: total", + "unit": "second", + "legend": "Total speed on {system} (Ramfs)" + } +} \ No newline at end of file diff --git a/test/benchmark/sqlite/ramfs_benchmarks/bench_results/ramfs_updates_between.json b/test/benchmark/sqlite/ramfs_benchmarks/bench_results/ramfs_updates_between.json new file mode 100644 index 00000000..d8c971a3 --- /dev/null +++ b/test/benchmark/sqlite/ramfs_benchmarks/bench_results/ramfs_updates_between.json @@ -0,0 +1,16 @@ +{ + "alert": { + "threshold": "125%", + "bigger_is_better": false + }, + "result_extraction": { + "search_pattern": "100000 UPDATES, numeric BETWEEN, indexed....", + "result_index": 8 + }, + "chart": { + "title": "[Ramfs] The updates-between result of sqlite speedtest", + "description": "sqlite-speed-test: 10000 UPDATES, numeric BETWEEN, indexed", + "unit": "second", + "legend": "The speed of updates-between on {system} (Ramfs)" + } +} \ No newline at end of file diff --git a/test/benchmark/sqlite/ramfs_benchmarks/bench_results/ramfs_updates_big_one.json b/test/benchmark/sqlite/ramfs_benchmarks/bench_results/ramfs_updates_big_one.json new file mode 100644 index 00000000..b7b2eeab --- /dev/null +++ b/test/benchmark/sqlite/ramfs_benchmarks/bench_results/ramfs_updates_big_one.json @@ -0,0 +1,16 @@ +{ + "alert": { + "threshold": "125%", + "bigger_is_better": false + }, + "result_extraction": { + "search_pattern": "One big UPDATE of the whole 500000-row table....", + "result_index": 11 + }, + "chart": { + "title": "[Ramfs] The updates-big-one result of sqlite speedtest", + "description": "sqlite-speed-test: One big UPDATE of the whole 50000-row table", + "unit": "second", + "legend": "The speed of updates-big-one on {system} (Ramfs)" + } +} \ No newline at end of file diff --git a/test/benchmark/sqlite/ramfs_benchmarks/bench_results/ramfs_updates_individual.json b/test/benchmark/sqlite/ramfs_benchmarks/bench_results/ramfs_updates_individual.json new file mode 100644 index 00000000..e0e2d285 --- /dev/null +++ b/test/benchmark/sqlite/ramfs_benchmarks/bench_results/ramfs_updates_individual.json @@ -0,0 +1,16 @@ +{ + "alert": { + "threshold": "125%", + "bigger_is_better": false + }, + "result_extraction": { + "search_pattern": "500000 UPDATES of individual rows....", + "result_index": 8 + }, + "chart": { + "title": "[Ramfs] The updates-individual result of sqlite speedtest", + "description": "sqlite-speed-test: 50000 UPDATES of individual rows", + "unit": "second", + "legend": "The speed of updates-individual on {system} (Ramfs)" + } +} \ No newline at end of file diff --git a/test/benchmark/sqlite/ramfs_benchmarks/bench_results/ramfs_vacuum.json b/test/benchmark/sqlite/ramfs_benchmarks/bench_results/ramfs_vacuum.json new file mode 100644 index 00000000..f81cc439 --- /dev/null +++ b/test/benchmark/sqlite/ramfs_benchmarks/bench_results/ramfs_vacuum.json @@ -0,0 +1,16 @@ +{ + "alert": { + "threshold": "125%", + "bigger_is_better": false + }, + "result_extraction": { + "search_pattern": "VACUUM....", + "result_index": 4 + }, + "chart": { + "title": "[Ramfs] The 'VACUUM' result of sqlite speedtest", + "description": "sqlite-speed-test: repacking database file into a minimal amount of disk space", + "unit": "second", + "legend": "The speed of VACUUM on {system} (Ramfs)" + } +} \ No newline at end of file diff --git a/test/benchmark/sqlite/ramfs_benchmarks/run.sh b/test/benchmark/sqlite/ramfs_benchmarks/run.sh new file mode 100644 index 00000000..65edb697 --- /dev/null +++ b/test/benchmark/sqlite/ramfs_benchmarks/run.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +# SPDX-License-Identifier: MPL-2.0 + +set -e + +/benchmark/bin/sqlite-speedtest1 --size 1000 /tmp/test.db \ No newline at end of file diff --git a/test/benchmark/sqlite/summary.json b/test/benchmark/sqlite/summary.json index dc1d4094..2d036645 100644 --- a/test/benchmark/sqlite/summary.json +++ b/test/benchmark/sqlite/summary.json @@ -9,6 +9,16 @@ "ext2_updates_individual", "ext2_updates_big_one", "ext2_vacuum", - "ext2_total" + "ext2_total", + "ramfs_deletes_between", + "ramfs_deletes_individual", + "ramfs_refill_replace", + "ramfs_selects_ipk", + "ramfs_selects_text_pk", + "ramfs_updates_between", + "ramfs_updates_individual", + "ramfs_updates_big_one", + "ramfs_vacuum", + "ramfs_total" ] } \ No newline at end of file