From 1be106ac53caa019a8912af932a43570fa8c052d Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sat, 21 Feb 2026 09:42:26 +0900 Subject: perf(game): compile whitespace regex once at package level Move regexp.MustCompile out of CalcCodeSize to avoid recompiling on every call. Co-Authored-By: Claude Opus 4.6 --- backend/game/hub.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/backend/game/hub.go b/backend/game/hub.go index 9c193f2..8c0a574 100644 --- a/backend/game/hub.go +++ b/backend/game/hub.go @@ -20,6 +20,8 @@ type TaskWorkerInterface interface { Results() chan taskqueue.TaskResult } +var whitespaceRe = regexp.MustCompile(`\s+`) + type Hub struct { q db.Querier txm db.TxManager @@ -50,8 +52,7 @@ func (hub *Hub) Run() { } func (hub *Hub) CalcCodeSize(code string, language string) int { - re := regexp.MustCompile(`\s+`) - trimmed := re.ReplaceAllString(code, "") + trimmed := whitespaceRe.ReplaceAllString(code, "") if language == "php" { return len(strings.TrimSuffix(strings.TrimPrefix(strings.TrimPrefix(trimmed, "")) } -- cgit v1.3.1