From: Bjørn Erik Pedersen Date: Wed, 16 Feb 2022 12:30:53 +0000 (+0100) Subject: markup/goldmark: Add a render hook benchmark X-Git-Tag: v0.93.0~54 X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=77c7059ff832870c3920e87a87969b815e429a8a;p=brevno-suite%2Fhugo markup/goldmark: Add a render hook benchmark Updates #9504 --- diff --git a/markup/goldmark/integration_test.go b/markup/goldmark/integration_test.go index 387d7be6..fd90a682 100644 --- a/markup/goldmark/integration_test.go +++ b/markup/goldmark/integration_test.go @@ -14,6 +14,7 @@ package goldmark_test import ( + "fmt" "testing" "github.com/gohugoio/hugo/hugolib" @@ -59,3 +60,57 @@ foo
`) } + +func BenchmarkSiteWithRenderHooks(b *testing.B) { + files := ` +-- config.toml -- +-- layouts/_default/_markup/render-heading.html -- + + {{ .Text | safeHTML }} + # + +-- layouts/_default/_markup/render-link.html -- +{{ .Text | safeHTML }} +-- layouts/_default/single.html -- +{{ .Content }} +` + + content := ` + +## Hello1 [Test](https://example.com) + +A. + +## Hello2 [Test](https://example.com) + +B. + +## Hello3 [Test](https://example.com) + +C. + +## Hello3 [Test](https://example.com) + +D. +` + + for i := 1; i < 100; i++ { + files += fmt.Sprintf("\n-- content/posts/p%d.md --\n"+content, i+1) + } + + cfg := hugolib.IntegrationTestConfig{ + T: b, + TxtarString: files, + } + builders := make([]*hugolib.IntegrationTestBuilder, b.N) + + for i := range builders { + builders[i] = hugolib.NewIntegrationTestBuilder(cfg) + } + + b.ResetTimer() + + for i := 0; i < b.N; i++ { + builders[i].Build() + } +}