From 06d2f2d5611f41e2724069dd9d83e9dbec898ece Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Sat, 23 Apr 2022 21:35:57 +0100 Subject: [PATCH] avoid capturing groups in regular expressions We don't use sub-matches captured by these groups, so avoiding that extra work will save some CPU cycles. It is likely insignificant compared to the rest of a Go build, but it's a very easy little win. --- main.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/main.go b/main.go index 824a3f2..48eee52 100644 --- a/main.go +++ b/main.go @@ -61,7 +61,7 @@ func init() { flagSet.Var(&flagSeed, "seed", "Provide a base64-encoded seed, e.g. -seed=o9WDTZ4CN4w\nFor a random seed, provide -seed=random") } -var rxGarbleFlag = regexp.MustCompile(`-(literals|tiny|debug|debugdir|seed)($|=)`) +var rxGarbleFlag = regexp.MustCompile(`-(?:literals|tiny|debug|debugdir|seed)(?:$|=)`) type seedFlag struct { random bool @@ -266,7 +266,7 @@ func goVersionOK() bool { ) // rxVersion looks for a version like "go1.2" or "go1.2.3" - rxVersion := regexp.MustCompile(`go\d+\.\d+(\.\d+)?`) + rxVersion := regexp.MustCompile(`go\d+\.\d+(?:\.\d+)?`) toolchainVersionFull := cache.GoEnv.GOVERSION toolchainVersion := rxVersion.FindString(cache.GoEnv.GOVERSION)