From b49df09fec0c09fcd7c01a99e267e70e843572e0 Mon Sep 17 00:00:00 2001 From: Jakob Borg Date: Sat, 8 Oct 2016 17:34:07 +0900 Subject: [PATCH] build: Trivial perf improvement of shouldRebuildAssets --- build.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/build.go b/build.go index e9b60aca1..25cb17deb 100644 --- a/build.go +++ b/build.go @@ -13,6 +13,7 @@ import ( "archive/zip" "bytes" "compress/gzip" + "errors" "flag" "fmt" "io" @@ -572,14 +573,15 @@ func shouldRebuildAssets(target, srcdir string) bool { // so we should rebuild it. currentBuild := info.ModTime() assetsAreNewer := false + stop := errors.New("no need to iterate further") filepath.Walk(srcdir, func(path string, info os.FileInfo, err error) error { if err != nil { return err } - if assetsAreNewer { - return nil + if info.ModTime().After(currentBuild) { + assetsAreNewer = true + return stop } - assetsAreNewer = info.ModTime().After(currentBuild) return nil })