Skip to content

Commit 04c4275

Browse files
committed
test: remove BenchmarkNewRewriterBuilder, see #2
1 parent efe0f5f commit 04c4275

File tree

1 file changed

+0
-96
lines changed

1 file changed

+0
-96
lines changed

benchmark_test.go

Lines changed: 0 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -241,99 +241,3 @@ func BenchmarkNewWriter(b *testing.B) {
241241
}
242242
}
243243
}
244-
245-
// BenchmarkNewRewriterBuilder tests the cost of not caching the RewriterBuilder.
246-
// In current implementation, every call to NewWriter involves creating a RewriterBuilder.
247-
// Ideally, if multiple documents are to be processed at the same time, a RewriterBuilder
248-
// is created in advance and kept in memory, and Rewriter-s could be built from it.
249-
// This benchmark aims to find out the extent of its impact.
250-
func BenchmarkNewRewriterBuilder(b *testing.B) {
251-
b.Run("Builder", func(b *testing.B) {
252-
for i := 0; i < b.N; i++ {
253-
rb := lolhtml.NewRewriterBuilder()
254-
rb.Free()
255-
}
256-
})
257-
b.Run("BuilderWithEmptyDocumentHandler", func(b *testing.B) {
258-
for i := 0; i < b.N; i++ {
259-
rb := lolhtml.NewRewriterBuilder()
260-
rb.AddDocumentContentHandlers(nil, nil, nil, nil)
261-
rb.Free()
262-
}
263-
})
264-
b.Run("BuilderWithEmptyElementHandler", func(b *testing.B) {
265-
for i := 0; i < b.N; i++ {
266-
rb := lolhtml.NewRewriterBuilder()
267-
s, _ := lolhtml.NewSelector("*")
268-
rb.AddElementContentHandlers(s, nil, nil, nil)
269-
rb.Free()
270-
s.Free()
271-
}
272-
})
273-
b.Run("BuilderWithElementHandler", func(b *testing.B) {
274-
for i := 0; i < b.N; i++ {
275-
rb := lolhtml.NewRewriterBuilder()
276-
s, _ := lolhtml.NewSelector("*")
277-
rb.AddElementContentHandlers(
278-
s,
279-
func(e *lolhtml.Element) lolhtml.RewriterDirective { return lolhtml.Continue },
280-
nil,
281-
nil,
282-
)
283-
rb.Free()
284-
s.Free()
285-
}
286-
})
287-
b.Run("BuilderWithElementHandlerAndBuild", func(b *testing.B) {
288-
for i := 0; i < b.N; i++ {
289-
rb := lolhtml.NewRewriterBuilder()
290-
s, _ := lolhtml.NewSelector("*")
291-
rb.AddElementContentHandlers(
292-
s,
293-
func(e *lolhtml.Element) lolhtml.RewriterDirective { return lolhtml.Continue },
294-
nil,
295-
nil,
296-
)
297-
r, _ := rb.Build(func([]byte) {}, lolhtml.NewDefaultConfig())
298-
r.Free()
299-
rb.Free()
300-
s.Free()
301-
}
302-
})
303-
b.Run("BuildMultipleRewriterFromOneBuilder", func(b *testing.B) {
304-
rb := lolhtml.NewRewriterBuilder()
305-
s, _ := lolhtml.NewSelector("*")
306-
rb.AddElementContentHandlers(
307-
s,
308-
func(e *lolhtml.Element) lolhtml.RewriterDirective { return lolhtml.Continue },
309-
nil,
310-
nil,
311-
)
312-
b.ResetTimer()
313-
for i := 0; i < b.N; i++ {
314-
_, _ = rb.Build(func([]byte) {}, lolhtml.NewDefaultConfig())
315-
//r.Free() // TODO: fix
316-
}
317-
b.StopTimer()
318-
rb.Free()
319-
s.Free()
320-
})
321-
b.Run("Writer", func(b *testing.B) {
322-
for i := 0; i < b.N; i++ {
323-
r, _ := lolhtml.NewWriter(
324-
nil,
325-
&lolhtml.Handlers{
326-
ElementContentHandler: []lolhtml.ElementContentHandler{
327-
{
328-
Selector: "*",
329-
ElementHandler: func(e *lolhtml.Element) lolhtml.RewriterDirective {
330-
return lolhtml.Continue
331-
},
332-
},
333-
},
334-
},
335-
)
336-
r.Free()
337-
}
338-
})
339-
}

0 commit comments

Comments
 (0)