internal/pkg: skip duplicate early

This significantly increases IR generation performance.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2026-02-07 17:11:41 +09:00
parent 31a8cc9b5c
commit ffd2f979fb

View File

@@ -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)
}