@@ -249,24 +249,19 @@ func BenchmarkNewWriter(b *testing.B) {
249249// This benchmark aims to find out the extent of its impact.
250250func BenchmarkNewRewriterBuilder (b * testing.B ) {
251251 b .Run ("Builder" , func (b * testing.B ) {
252- for i := 0 ; i < b .N ; i ++ {
253- _ = lolhtml .NewRewriterBuilder ()
254- }
255- })
256- b .Run ("BuilderWithFree" , func (b * testing.B ) {
257252 for i := 0 ; i < b .N ; i ++ {
258253 rb := lolhtml .NewRewriterBuilder ()
259254 rb .Free ()
260255 }
261256 })
262- b .Run ("BuilderWithEmptyDocumentHandlerAndFree " , func (b * testing.B ) {
257+ b .Run ("BuilderWithEmptyDocumentHandler " , func (b * testing.B ) {
263258 for i := 0 ; i < b .N ; i ++ {
264259 rb := lolhtml .NewRewriterBuilder ()
265260 rb .AddDocumentContentHandlers (nil , nil , nil , nil )
266261 rb .Free ()
267262 }
268263 })
269- b .Run ("BuilderWithEmptyElementHandlerAndFree " , func (b * testing.B ) {
264+ b .Run ("BuilderWithEmptyElementHandler " , func (b * testing.B ) {
270265 for i := 0 ; i < b .N ; i ++ {
271266 rb := lolhtml .NewRewriterBuilder ()
272267 s , _ := lolhtml .NewSelector ("*" )
@@ -275,7 +270,7 @@ func BenchmarkNewRewriterBuilder(b *testing.B) {
275270 s .Free ()
276271 }
277272 })
278- b .Run ("BuilderWithElementHandlerAndFree " , func (b * testing.B ) {
273+ b .Run ("BuilderWithElementHandler " , func (b * testing.B ) {
279274 for i := 0 ; i < b .N ; i ++ {
280275 rb := lolhtml .NewRewriterBuilder ()
281276 s , _ := lolhtml .NewSelector ("*" )
@@ -289,7 +284,7 @@ func BenchmarkNewRewriterBuilder(b *testing.B) {
289284 s .Free ()
290285 }
291286 })
292- b .Run ("BuilderWithElementHandlerAndBuildAndFree " , func (b * testing.B ) {
287+ b .Run ("BuilderWithElementHandlerAndBuild " , func (b * testing.B ) {
293288 for i := 0 ; i < b .N ; i ++ {
294289 rb := lolhtml .NewRewriterBuilder ()
295290 s , _ := lolhtml .NewSelector ("*" )
@@ -299,7 +294,8 @@ func BenchmarkNewRewriterBuilder(b *testing.B) {
299294 nil ,
300295 nil ,
301296 )
302- _ , _ = rb .Build (func ([]byte ) {}, lolhtml .NewDefaultConfig ())
297+ r , _ := rb .Build (func ([]byte ) {}, lolhtml .NewDefaultConfig ())
298+ r .Free ()
303299 rb .Free ()
304300 s .Free ()
305301 }
@@ -316,14 +312,16 @@ func BenchmarkNewRewriterBuilder(b *testing.B) {
316312 b .ResetTimer ()
317313 for i := 0 ; i < b .N ; i ++ {
318314 _ , _ = rb .Build (func ([]byte ) {}, lolhtml .NewDefaultConfig ())
315+ //r.Free() // TODO: fix
319316 }
320317 b .StopTimer ()
321318 rb .Free ()
322319 s .Free ()
323320 })
324321 b .Run ("Writer" , func (b * testing.B ) {
325322 for i := 0 ; i < b .N ; i ++ {
326- _ , _ = lolhtml .NewWriter (nil ,
323+ r , _ := lolhtml .NewWriter (
324+ nil ,
327325 & lolhtml.Handlers {
328326 ElementContentHandler : []lolhtml.ElementContentHandler {
329327 {
@@ -335,6 +333,7 @@ func BenchmarkNewRewriterBuilder(b *testing.B) {
335333 },
336334 },
337335 )
336+ r .Free ()
338337 }
339338 })
340339}
0 commit comments