mirror of
https://github.com/gohugoio/hugo.git
synced 2025-12-13 20:36:04 +01:00
all: Fix some benchmarks broken by modernize
It's not possible to use `b.Loop()` when `b.N` is used to prepare test data.
See 264022a75a
See #14107
This commit is contained in:
@@ -161,7 +161,7 @@ func BenchmarkIsContextType(b *testing.B) {
|
||||
}
|
||||
|
||||
b.ResetTimer()
|
||||
for i := 0; b.Loop(); i++ {
|
||||
for i := 0; i < b.N; i++ {
|
||||
if !IsContextType(ctxs[i]) {
|
||||
b.Fatal("not context")
|
||||
}
|
||||
|
||||
@@ -105,13 +105,13 @@ func BenchmarkUniqueStrings(b *testing.B) {
|
||||
b.Run("Reuse slice sorted", func(b *testing.B) {
|
||||
b.StopTimer()
|
||||
inputs := make([][]string, b.N)
|
||||
for i := 0; b.Loop(); i++ {
|
||||
for i := 0; i < b.N; i++ {
|
||||
inputc := make([]string, len(input))
|
||||
copy(inputc, input)
|
||||
inputs[i] = inputc
|
||||
}
|
||||
b.StartTimer()
|
||||
for i := 0; b.Loop(); i++ {
|
||||
for i := 0; i < b.N; i++ {
|
||||
inputc := inputs[i]
|
||||
|
||||
result := UniqueStringsSorted(inputc)
|
||||
|
||||
@@ -67,12 +67,12 @@ func BenchmarkStringSort(b *testing.B) {
|
||||
prototype := []string{"b", "Bz", "zz", "ba", "αβδ αβδ αβδ", "A", "Ba", "ba", "nnnnasdfnnn", "AAgæåz", "αβδC"}
|
||||
b.Run("LessStrings", func(b *testing.B) {
|
||||
ss := make([][]string, b.N)
|
||||
for i := 0; b.Loop(); i++ {
|
||||
for i := 0; i < b.N; i++ {
|
||||
ss[i] = make([]string, len(prototype))
|
||||
copy(ss[i], prototype)
|
||||
}
|
||||
b.ResetTimer()
|
||||
for i := 0; b.Loop(); i++ {
|
||||
for i := 0; i < b.N; i++ {
|
||||
sss := ss[i]
|
||||
sort.Slice(sss, func(i, j int) bool {
|
||||
return LessStrings(sss[i], sss[j])
|
||||
|
||||
@@ -83,7 +83,7 @@ kind = '{section,term}'
|
||||
|
||||
b.ResetTimer()
|
||||
|
||||
for i := 0; b.Loop(); i++ {
|
||||
for i := 0; i < b.N; i++ {
|
||||
builders[i].Build()
|
||||
}
|
||||
})
|
||||
|
||||
@@ -749,7 +749,7 @@ func BenchmarkBaseline(b *testing.B) {
|
||||
builders[i] = NewIntegrationTestBuilder(cfg)
|
||||
}
|
||||
|
||||
for i := 0; b.Loop(); i++ {
|
||||
for i := 0; i < b.N; i++ {
|
||||
builders[i].Build()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@ func BenchmarkGetPage(b *testing.B) {
|
||||
pagePaths[i] = fmt.Sprintf("sect%d", r.Intn(10))
|
||||
}
|
||||
|
||||
for i := 0; b.Loop(); i++ {
|
||||
for i := 0; i < b.N; i++ {
|
||||
home, _ := s.getPage(nil, "/")
|
||||
if home == nil {
|
||||
b.Fatal("Home is nil")
|
||||
@@ -120,12 +120,12 @@ func BenchmarkGetPageRegular(b *testing.B) {
|
||||
|
||||
pagePaths := make([]string, b.N)
|
||||
|
||||
for i := 0; b.Loop(); i++ {
|
||||
for i := 0; i < b.N; i++ {
|
||||
pagePaths[i] = path.Join(fmt.Sprintf("/sect%d", r.Intn(10)), fmt.Sprintf("page%d.md", r.Intn(100)))
|
||||
}
|
||||
|
||||
b.ResetTimer()
|
||||
for i := 0; b.Loop(); i++ {
|
||||
for i := 0; i < b.N; i++ {
|
||||
page, _ := s.getPage(nil, pagePaths[i])
|
||||
c.Assert(page, qt.Not(qt.IsNil))
|
||||
}
|
||||
@@ -139,13 +139,13 @@ func BenchmarkGetPageRegular(b *testing.B) {
|
||||
pagePaths := make([]string, b.N)
|
||||
pages := make([]page.Page, b.N)
|
||||
|
||||
for i := 0; b.Loop(); i++ {
|
||||
for i := 0; i < b.N; i++ {
|
||||
pagePaths[i] = fmt.Sprintf("page%d.md", r.Intn(100))
|
||||
pages[i] = allPages[r.Intn(len(allPages)/3)]
|
||||
}
|
||||
|
||||
b.ResetTimer()
|
||||
for i := 0; b.Loop(); i++ {
|
||||
for i := 0; i < b.N; i++ {
|
||||
page, _ := s.getPage(pages[i], pagePaths[i])
|
||||
c.Assert(page, qt.Not(qt.IsNil))
|
||||
}
|
||||
|
||||
@@ -1797,7 +1797,7 @@ func BenchmarkRebuildContentFileChange(b *testing.B) {
|
||||
builders[i].Build()
|
||||
}
|
||||
|
||||
for i := 0; b.Loop(); i++ {
|
||||
for i := 0; i < b.N; i++ {
|
||||
bb := builders[i]
|
||||
bb.EditFileReplaceFunc("content/mysect/p123/index.md", func(s string) string {
|
||||
return s + "... Edited"
|
||||
|
||||
@@ -100,7 +100,6 @@ title: "Shortcodes Galore!"
|
||||
{"closed without content", `{{< inner param1 >}}{{< / inner >}}`, regexpCheck("inner.*inner:{}")},
|
||||
{"inline", `{{< my.inline >}}Hi{{< /my.inline >}}`, regexpCheck("my.inline;inline:true;closing:true;inner:{Hi};")},
|
||||
} {
|
||||
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
t.Parallel()
|
||||
c := qt.New(t)
|
||||
@@ -342,7 +341,7 @@ title: "Markdown Shortcode"
|
||||
builders[i] = NewIntegrationTestBuilder(cfg)
|
||||
}
|
||||
|
||||
for i := 0; b.Loop(); i++ {
|
||||
for i := 0; i < b.N; i++ {
|
||||
builders[i].Build()
|
||||
}
|
||||
}
|
||||
@@ -715,7 +714,6 @@ TOC: {{ .TableOfContents }}
|
||||
)
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -504,7 +504,7 @@ func BenchmarkSiteNew(b *testing.B) {
|
||||
}
|
||||
b.Run(name, func(b *testing.B) {
|
||||
sites := make([]*sitesBuilder, b.N)
|
||||
for i := 0; b.Loop(); i++ {
|
||||
for i := 0; i < b.N; i++ {
|
||||
sites[i] = bm.create(b)
|
||||
if edit {
|
||||
sites[i].Running()
|
||||
|
||||
@@ -1125,11 +1125,11 @@ func BenchmarkSitesMatrixContent(b *testing.B) {
|
||||
for _, multipleDimensions := range []bool{false, true} {
|
||||
b.Run(fmt.Sprintf("n%d/md%t", numPages, multipleDimensions), func(b *testing.B) {
|
||||
builders := make([]*hugolib.IntegrationTestBuilder, b.N)
|
||||
for i := 0; b.Loop(); i++ {
|
||||
for i := 0; i < b.N; i++ {
|
||||
builders[i] = newSitesMatrixContentBenchmarkBuilder(b, numPages, true, true)
|
||||
}
|
||||
b.ResetTimer()
|
||||
for i := 0; b.Loop(); i++ {
|
||||
for i := 0; i < b.N; i++ {
|
||||
builders[i].Build()
|
||||
}
|
||||
})
|
||||
|
||||
@@ -46,7 +46,7 @@ func BenchmarkIdentityManager(b *testing.B) {
|
||||
im := identity.NewManager()
|
||||
|
||||
b.ResetTimer()
|
||||
for i := 0; b.Loop(); i++ {
|
||||
for i := 0; i < b.N; i++ {
|
||||
im.AddIdentity(ids[i])
|
||||
}
|
||||
|
||||
|
||||
@@ -284,7 +284,7 @@ D.
|
||||
builders[i] = hugolib.NewIntegrationTestBuilder(cfg)
|
||||
}
|
||||
|
||||
for i := 0; b.Loop(); i++ {
|
||||
for i := 0; i < b.N; i++ {
|
||||
builders[i].Build()
|
||||
}
|
||||
}
|
||||
@@ -343,7 +343,7 @@ FENCE
|
||||
|
||||
b.ResetTimer()
|
||||
|
||||
for i := 0; b.Loop(); i++ {
|
||||
for i := 0; i < b.N; i++ {
|
||||
builders[i].Build()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -218,7 +218,7 @@ func BenchmarkToc(b *testing.B) {
|
||||
b.Run("ToHTML", func(b *testing.B) {
|
||||
tocs := newTocs(b.N)
|
||||
b.ResetTimer()
|
||||
for i := 0; b.Loop(); i++ {
|
||||
for i := 0; i < b.N; i++ {
|
||||
toc := tocs[i]
|
||||
toc.ToHTML(1, -1, false)
|
||||
}
|
||||
|
||||
@@ -181,7 +181,7 @@ keywords: ['k%d']
|
||||
builders[i] = hugolib.NewIntegrationTestBuilder(cfg)
|
||||
}
|
||||
|
||||
for i := 0; b.Loop(); i++ {
|
||||
for i := 0; i < b.N; i++ {
|
||||
builders[i].Build()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -469,7 +469,7 @@ func BenchmarkImageExif(b *testing.B) {
|
||||
getImages := func(c *qt.C, b *testing.B, fs afero.Fs) []images.ImageResource {
|
||||
spec := newTestResourceSpec(specDescriptor{fs: fs, c: c})
|
||||
imgs := make([]images.ImageResource, b.N)
|
||||
for i := 0; b.Loop(); i++ {
|
||||
for i := 0; i < b.N; i++ {
|
||||
imgs[i] = fetchResourceForSpec(spec, c, "sunset.jpg", strconv.Itoa(i)).(images.ImageResource)
|
||||
}
|
||||
return imgs
|
||||
|
||||
@@ -243,7 +243,7 @@ ABCDE
|
||||
builders[i] = hugolib.NewIntegrationTestBuilder(cfg)
|
||||
}
|
||||
|
||||
for i := 0; b.Loop(); i++ {
|
||||
for i := 0; i < b.N; i++ {
|
||||
builders[i].Build()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user