aboutsummaryrefslogtreecommitdiff
path: root/benchmarks/run-vcube-benchmarks.sh
blob: 801bad001d1e1b27612660a62bd297ec2c22e707 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/bin/sh

# This script can be used to run benchmarks for vcube, similar to the
# benchmarks for H48 run by run-h48-benchmarks.sh. Before running this script,
# move it to the vcube folder and and adjust the paths below if necessary.

scr="../nissy-core/benchmarks/scrambles"
out="../nissy-core/benchmarks/results_vcube.py"

get_solve_time() {
	./vc-optimal -w "$1" -c "$2" <"$3" \
		2>&1 >/dev/null | sed 's/Total time: //; s/ real.*//'
}

do_all() {
	t=$1
	name=$2
	printf '%s = {\n' "$name" >> "$out"
	for i in 112 208 308 404 212 ; do
		t17="$(get_solve_time $t $i "$scr/scrambles-17.txt")"
		t18="$(get_solve_time $t $i "$scr/scrambles-18.txt")"
		t19="$(get_solve_time $t $i "$scr/scrambles-19.txt")"
		printf '\t%s: {17: %s, 18: %s, 19: %s' $i $t17 $t18 $t19 >> "$out"
		if [ "$i" -ge 212 ]; then
			t20="$(get_solve_time $t $i "$scr/scrambles-20.txt")"
			printf ', 20: %s' $t20 >> "$out"
			if [ "$t" = 1 ]; then
				tsf="$(get_solve_time $t $i "$scr/superflip.txt")"
				printf ', "superflip": %s},\n' $tsf >> "$out"
			else
				printf '},\n' >> "$out"
			fi
		else
			printf '},\n' >> "$out"
		fi
	done
	printf '}\n\n' >> "$out"
}

printf '' > "$out"

do_all 1 "vcube_single_thread"
do_all 4 "vcube_4_threads"
do_all 16 "vcube_16_threads"

Generated with cgit - Back to sebastiano.tronto.net