From 11fe00e83fe2d5e621fe9b7aeda273b0c0a0cea2 Mon Sep 17 00:00:00 2001 From: Martin Kagamino Lehoux Date: Wed, 9 Jul 2025 06:51:34 +0200 Subject: Profiling setup --- main.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/main.go b/main.go index 1ceddf1..a5bde3e 100644 --- a/main.go +++ b/main.go @@ -10,6 +10,7 @@ import ( _ "image/jpeg" "math" "os" + "runtime/pprof" "time" "github.com/hajimehoshi/ebiten/v2" @@ -203,6 +204,15 @@ func (g *Game) Layout(outsideWidth, outsideHeight int) (screenWidth, screenHeigh } func main() { + for _, arg := range os.Args { + if arg == "--profile" { + f, err := os.Create("cpu.prof") + kcore.Expect(err, "could not create CPU profile") + defer f.Close() + kcore.Expect(pprof.StartCPUProfile(f), "could not start CPU profile") + defer pprof.StopCPUProfile() + } + } logHandler := slog.NewTextHandler(os.Stdout, &slog.HandlerOptions{Level: slog.LevelDebug}) slog.SetDefault(slog.New(logHandler)) ebiten.SetWindowSize(640, 480) -- cgit v1.3