]> Sergey Matveev's repositories - bfs.git/commitdiff
bench: Check for bfs -j support before using it
authorTavian Barnes <tavianator@tavianator.com>
Thu, 12 Oct 2023 22:21:55 +0000 (18:21 -0400)
committerTavian Barnes <tavianator@tavianator.com>
Thu, 12 Oct 2023 22:22:20 +0000 (18:22 -0400)
bench/bench.sh

index be5a15b4865a4e57246612fc1dccc185ac8394c9..ab56b79cfb8db99986b15a0480203bf3b5761df6 100644 (file)
@@ -467,7 +467,11 @@ bench-jobs-corpus() {
     if ((${#BFS[@]} + ${#FD[@]} == 1)); then
         cmds=()
         for bfs in "${BFS[@]}"; do
-            cmds+=("$bfs -j"{1,2,3,4,6,8,12,16}" $2 -false")
+            if "$bfs" -j1 -quit &>/dev/null; then
+                cmds+=("$bfs -j"{1,2,3,4,6,8,12,16}" $2 -false")
+            else
+                cmds+=("$bfs $2 -false")
+            fi
         done
 
         for fd in "${FD[@]}"; do
@@ -481,14 +485,20 @@ bench-jobs-corpus() {
 
             cmds=()
             for bfs in "${BFS[@]}"; do
-                cmds+=("$bfs -j$j $2 -false")
+                if "$bfs" -j1 -quit &>/dev/null; then
+                    cmds+=("$bfs -j$j $2 -false")
+                elif ((j == 1)); then
+                    cmds+=("$bfs $2 -false")
+                fi
             done
 
             for fd in "${FD[@]}"; do
                 cmds+=("$fd -j$j -u '^$' $2")
             done
 
-            do-hyperfine "${cmds[@]}"
+            if ((${#cmds[@]})); then
+                do-hyperfine "${cmds[@]}"
+            fi
         done
     fi
 }