sweet/cmd/sweet: disable fogleman-fauxgl on arm64

fogleman-fauxgl hangs on arm64, so disable it from the default benchmark
groups. It can still be requested explicitly.

For golang/go#54760.

Change-Id: I8252c7475c3855d1bd2b03608b6e23e5249d1ab4
Reviewed-on: https://go-review.googlesource.com/c/benchmarks/+/426714
Run-TryBot: Michael Pratt <mpratt@google.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
diff --git a/sweet/cmd/sweet/benchmark.go b/sweet/cmd/sweet/benchmark.go
index e6f7d18..a2977a4 100644
--- a/sweet/cmd/sweet/benchmark.go
+++ b/sweet/cmd/sweet/benchmark.go
@@ -98,13 +98,14 @@
 	return m
 }()
 
-var benchmarkGroups = map[string][]*benchmark{
-	"default": {
+var benchmarkGroups = func() map[string][]*benchmark {
+	m := make(map[string][]*benchmark)
+
+	m["default"] = []*benchmark{
 		allBenchmarksMap["biogo-igor"],
 		allBenchmarksMap["biogo-krishna"],
 		allBenchmarksMap["bleve-index"],
 		allBenchmarksMap["bleve-query"],
-		allBenchmarksMap["fogleman-fauxgl"],
 		allBenchmarksMap["fogleman-pt"],
 		allBenchmarksMap["go-build"],
 		allBenchmarksMap["gopher-lua"],
@@ -112,19 +113,30 @@
 		// allBenchmarksMap["gvisor"],
 		allBenchmarksMap["markdown"],
 		allBenchmarksMap["tile38"],
-	},
-	"all": func() (b []*benchmark) {
-		for i := range allBenchmarks {
-			if allBenchmarks[i].name == "gvisor" {
-				// TODO(go.dev/issue/51445): Include in "all"
-				// once gVisor builds with Go 1.19.
+	}
+	if runtime.GOARCH != "arm64" {
+		// TODO(go.dev/issue/54760): fogleman-fauxgl hangs on arm64.
+		m["default"] = append(m["default"], allBenchmarksMap["fogleman-fauxgl"])
+	}
+
+	for i := range allBenchmarks {
+		switch allBenchmarks[i].name {
+		case "fogleman-fauxgl":
+			if runtime.GOARCH == "arm64" {
+				// TODO(go.dev/issue/54760): fogleman-fauxgl
+				// hangs on arm64.
 				continue
 			}
-			b = append(b, &allBenchmarks[i])
+		case "gvisor":
+			// TODO(go.dev/issue/51445): Include in "all"
+			// once gVisor builds with Go 1.19.
+			continue
 		}
-		return
-	}(),
-}
+		m["all"] = append(m["all"], &allBenchmarks[i])
+	}
+
+	return m
+}()
 
 func benchmarkNames(b []*benchmark) (s []string) {
 	for _, bench := range b {