aboutsummaryrefslogtreecommitdiffhomepage
path: root/backend
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-02-21 09:42:26 +0900
committernsfisis <nsfisis@gmail.com>2026-02-21 09:42:26 +0900
commit1be106ac53caa019a8912af932a43570fa8c052d (patch)
tree09cdabe6b2cb5af4ce20656ed37a52ae66b278b5 /backend
parentaa25d66376f30c590c697a2c7eb981a24e1057bb (diff)
downloadphperkaigi-2026-albatross-1be106ac53caa019a8912af932a43570fa8c052d.tar.gz
phperkaigi-2026-albatross-1be106ac53caa019a8912af932a43570fa8c052d.tar.zst
phperkaigi-2026-albatross-1be106ac53caa019a8912af932a43570fa8c052d.zip
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 <noreply@anthropic.com>
Diffstat (limited to 'backend')
-rw-r--r--backend/game/hub.go5
1 files 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, "<?php"), "<?"), "?>"))
}