From 1e222b67fe5d47aba02827c6746c49a11ba3c743 Mon Sep 17 00:00:00 2001 From: Markus Wüstenberg Date: Wed, 5 Mar 2025 12:00:11 +0100 Subject: Benchmark large document and run in CI (#246) Fixes #229--- html/elements_test.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'html/elements_test.go') diff --git a/html/elements_test.go b/html/elements_test.go index 5fe6268..7670af5 100644 --- a/html/elements_test.go +++ b/html/elements_test.go @@ -3,6 +3,7 @@ package html_test import ( "errors" "fmt" + "strings" "testing" g "maragu.dev/gomponents" @@ -164,3 +165,22 @@ func TestSimpleVoidKindElements(t *testing.T) { }) } } + +func BenchmarkLargeHTMLDocument(b *testing.B) { + b.ReportAllocs() + + for i := 0; i < b.N; i++ { + elements := make([]g.Node, 0, 10000) + + for i := 0; i < 5000; i++ { + elements = append(elements, + Div(Class("foo")), + Span(Class("bar")), + ) + } + doc := Div(elements...) + + var sb strings.Builder + _ = doc.Render(&sb) + } +} -- cgit 1.4.1