about summary refs log tree commit diff stats
path: root/html
diff options
context:
space:
mode:
Diffstat (limited to 'html')
-rw-r--r--html/elements_test.go20
1 files changed, 20 insertions, 0 deletions
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)
+	}
+}