1#!/bin/bash
2
3set -e
4DIR="$(pwd)"
5
6cd "${DIR}"/bench_bin && cargo build --release
7
8ITER=100000
9
10printf "\n\n$..book[?(@.price<30 && @.category=="fiction")] (loop ${ITER})"
11printf "\n\n"
12
13__default () {
14    echo "Rust - select: " && time ./bench.sh select ${ITER}
15    printf "\n"
16    sleep 1
17    cd "${DIR}"/javascript && echo "NodeJs - jsonpath - query: " && time ./bench.sh jsonpath ${ITER}
18    printf "\n"
19    sleep 1
20    cd "${DIR}"/javascript && echo "NodeJs - jsonpath-wasm - select:" && time ./bench.sh wasmSelect ${ITER}
21}
22
23__extra () {
24    echo "Rust - selector: " && time ./bench.sh selector ${ITER}
25    printf "\n"
26    sleep 1
27    echo "Rust - compile: " && time ./bench.sh compile ${ITER}
28    printf "\n"
29    sleep 1
30    cd "${DIR}"/javascript && echo "NodeJs - jsonpath - query: " && time ./bench.sh jsonpath ${ITER}
31    printf "\n"
32    sleep 1
33    cd "${DIR}"/javascript && echo "NodeJs - jsonpath-wasm - selector: " && time ./bench.sh wasmSelector ${ITER}
34    printf "\n"
35    sleep 1
36    cd "${DIR}"/javascript && echo "NodeJs - jsonpath-wasm - compile: " && time ./bench.sh wasmCompile ${ITER}
37    printf "\n"
38    sleep 1
39    cd "${DIR}"/javascript && echo "NodeJs - jsonpath-wasm - Selector: " && time ./bench.sh wasmSelectorClass ${ITER}
40    printf "\n"
41}
42
43if [ "$1" = "extra" ]; then
44    __extra
45else
46    __default
47fi