From 224ccb170aa83fd6c50c622cf67d1b99043cf341 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 7 Oct 2025 09:23:22 +0530 Subject: [PATCH] Micro optimisation --- tools/disk_cache/implementation.go | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/tools/disk_cache/implementation.go b/tools/disk_cache/implementation.go index 555f9c1b1..3b148e7c8 100644 --- a/tools/disk_cache/implementation.go +++ b/tools/disk_cache/implementation.go @@ -287,21 +287,27 @@ func (dc *DiskCache) add(key string, items map[string][]byte) (err error) { for x, data := range items { p := filepath.Join(base, x) var before int64 + exists := false if s, err := os.Stat(p); err == nil { before = s.Size() + exists = true } if len(data) == 0 { - if err = os.Remove(p); err != nil { - if !os.IsNotExist(err) { - return + if exists { + if err = os.Remove(p); err != nil { + if !os.IsNotExist(err) { + return + } + err = nil } - err = nil + changed -= before } - changed -= before } else { // unlink the file so that writing to it does not change a // previously linked copy created by get() - _ = os.Remove(p) + if exists { + _ = os.Remove(p) + } if err = os.WriteFile(p, data, 0o700); err != nil { return }