Skip to content

Commit 7831fed

Browse files
committed
feat(benchmarking): add optional QUERIES custom variable
1 parent 63a619d commit 7831fed

3 files changed

Lines changed: 52 additions & 3 deletions

File tree

benchmarking/Makefile_api

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ API_QUERY_OPTS=--randomize
1212
else
1313
$(error "RANDOMIZED must be either 0 or 1, got '$(RANDOMIZED)'")
1414
endif
15+
export API_QUERY_OPTS
1516

1617
# Passed to api-query
1718
ifeq ($(CONCURRENCY),)
@@ -23,6 +24,13 @@ ifeq ($(REPEAT),)
2324
$(error "REPEAT must be a natural number, missing")
2425
endif
2526

27+
ifeq ($(QUERIES),)
28+
QUERIES_DIR=$(DATASET_DIR)/queries
29+
else
30+
QUERIES_DIR=$(DATASET_DIR)/$(QUERIES)
31+
endif
32+
export QUERIES_DIR
33+
2634
# ---- Get dependencies --------------------------------------------------------
2735

2836
API_QUERY_VERSION=e005495f09b76e8c418a43cc07bf2f398e4c48bd
@@ -32,8 +40,10 @@ API_QUERY_CLONE=$(API_QUERY_DIR)/Cargo.toml
3240
API_QUERY_CHECKOUT_STAMP_DIR=$(API_QUERY_DIR)/.git/.checkout
3341
API_QUERY_CHECKOUT=$(API_QUERY_CHECKOUT_STAMP_DIR)/$(API_QUERY_VERSION)
3442
API_QUERY=$(API_QUERY_DIR)/target/release/api-query
43+
export API_QUERY
3544

3645
API_QUERY_LOG_CSV:=$(OUTPUT_DIR)/api-query-log-$(shell bin/date-rfc-3339).csv
46+
export API_QUERY_LOG_CSV
3747

3848
$(API_QUERY_CLONE):
3949
git clone https://github.com/GenSpectrum/api-query $(API_QUERY_DIR)
@@ -61,9 +71,9 @@ dependencies: $(API_QUERY)
6171
bin/stop-silo
6272
touch .silo.stopped
6373

64-
bench: $(DATASET_DIR)/silo_queries.ndjson $(API_QUERY) .silo.stopped
74+
bench: $(QUERIES_DIR)/queries.ndjson $(API_QUERY) .silo.stopped
6575
@echo "running benchmark"
6676
make -f Makefile_api .silo.pid
67-
$(API_QUERY) iter $(API_QUERY_OPTS) --repeat $(REPEAT) $(DATASET_DIR)/silo_queries.ndjson --drop --log-csv $(API_QUERY_LOG_CSV) --concurrency $(CONCURRENCY)
77+
bin/api-query-iter
6878
make -f Makefile_api .silo.stopped
69-
$(API_QUERY)-log compare --queries $(DATASET_DIR)/silo_queries.ndjson --ignore-from $(DATASET_DIR)/ignore_queries_for_checksum_regex.txt $(DATASET_DIR)/good-api-query-log.csv $(API_QUERY_LOG_CSV)
79+
bin/api-query-log-compare

benchmarking/bin/api-query-iter

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#!/bin/bash
2+
set -meuo pipefail
3+
IFS=' '
4+
5+
if [ $# -ne 0 ]; then
6+
echo "usage: all parameters must be passed as env variables"
7+
exit 1
8+
fi
9+
10+
set -x
11+
12+
"$API_QUERY" iter \
13+
$API_QUERY_OPTS \
14+
--repeat "$REPEAT" \
15+
--concurrency "$CONCURRENCY" \
16+
"$QUERIES_DIR"/queries.ndjson \
17+
--drop --log-csv "$API_QUERY_LOG_CSV"
18+
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#!/bin/bash
2+
set -meuo pipefail
3+
IFS=
4+
5+
if [ $# -ne 0 ]; then
6+
echo "usage: all parameters must be passed as env variables"
7+
exit 1
8+
fi
9+
10+
if [ -e "$QUERIES_DIR"/good-api-query-log.csv ]; then
11+
set -x
12+
"$API_QUERY"-log compare \
13+
--queries "$QUERIES_DIR"/queries.ndjson \
14+
--ignore-from "$QUERIES_DIR"/ignore_queries_for_checksum_regex.txt \
15+
"$QUERIES_DIR"/good-api-query-log.csv "$API_QUERY_LOG_CSV"
16+
else
17+
echo -n "There's no good-api-query-log.csv for '$QUERIES'. "
18+
echo "Automatically install the current file as presumably good:"
19+
set -x
20+
cp -a "$API_QUERY_LOG_CSV" "$QUERIES_DIR"/good-api-query-log.csv
21+
fi

0 commit comments

Comments
 (0)