1 Commits

Author SHA1 Message Date
c70838d1bf Add a basic benchmark
All checks were successful
Build and test / build (push) Successful in 13m30s
2026-03-04 19:00:57 +09:00
5 changed files with 63 additions and 1 deletions

View File

@@ -4,7 +4,7 @@ on:
pull_request:
push:
jobs:
evals:
build:
runs-on: debian-latest
steps:
- uses: actions/checkout@v6
@@ -69,3 +69,6 @@ jobs:
ssh-key: ${{ secrets.OYSTEIKT_GITEA_WEBDOCS_SSH_KEY }}
host: microbel.pvv.ntnu.no
known-hosts: "microbel.pvv.ntnu.no ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEq0yasKP0mH6PI6ypmuzPzMnbHELo9k+YB5yW534aKudKZS65YsHJKQ9vapOtmegrn5MQbCCgrshf+/XwZcjbM="
- name: Run benchmarks
run: nix develop .# --command dart run benchmark_harness:bench --flavor jit

5
benchmark/benchmark.dart Normal file
View File

@@ -0,0 +1,5 @@
import './search/word_search.dart';
Future<void> main() async {
await WordSearchBenchmark.main();
}

View File

@@ -0,0 +1,45 @@
import 'package:benchmark_harness/benchmark_harness.dart';
import 'package:jadb/search.dart';
import 'package:sqflite_common/sqlite_api.dart';
import '../../test/search/setup_database_connection.dart';
class WordSearchBenchmark extends AsyncBenchmarkBase {
Database? connection;
static final List<String> searchTerms = [
'kana',
'kanji',
'kawaii',
'sushi',
'ramen',
];
WordSearchBenchmark() : super('WordSearchBenchmark');
static Future<void> main() async {
print('Running WordSearchBenchmark...');
await WordSearchBenchmark().report();
print('Finished WordSearchBenchmark');
}
@override
Future<void> setup() async {
connection = await setupDatabaseConnection();
}
@override
Future<void> run() async {
for (final term in searchTerms) {
await connection!.jadbSearchWord(term);
}
}
@override
Future<void> teardown() async {
await connection?.close();
}
// @override
// Future<void> exercise() => run();
}

View File

@@ -33,6 +33,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.13.0"
benchmark_harness:
dependency: "direct dev"
description:
name: benchmark_harness
sha256: a2d3c4c83cac0126bf38e41eaf7bd9ed4f6635f1ee1a0cbc6f79fa9736c62cbd
url: "https://pub.dev"
source: hosted
version: "2.4.0"
boolean_selector:
dependency: transitive
description:

View File

@@ -18,6 +18,7 @@ dependencies:
xml: ^6.5.0
dev_dependencies:
benchmark_harness: ^2.4.0
lints: ^6.0.0
test: ^1.25.15