From ffd2f979fb620e72611ba718ac9f64f2c59f89a1 Mon Sep 17 00:00:00 2001 From: Ophestra Date: Sat, 7 Feb 2026 17:11:41 +0900 Subject: [PATCH] internal/pkg: skip duplicate early This significantly increases IR generation performance. Signed-off-by: Ophestra --- internal/pkg/ir.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/internal/pkg/ir.go b/internal/pkg/ir.go index f40cd87..58dcbfe 100644 --- a/internal/pkg/ir.go +++ b/internal/pkg/ir.go @@ -254,15 +254,16 @@ func (c *Cache) encodeAll( a Artifact, encoded map[Artifact]struct{}, ) (err error) { + if _, ok := encoded[a]; ok { + return + } + for _, d := range a.Dependencies() { if err = c.encodeAll(w, d, encoded); err != nil { return } } - if _, ok := encoded[a]; ok { - return - } encoded[a] = struct{}{} return c.Encode(w, a) }