From 43e48a8989b04f9a434ffa6ff21414adcbb72544 Mon Sep 17 00:00:00 2001 From: bep Date: Fri, 6 Feb 2015 10:00:42 +0100 Subject: [PATCH] Add benchmark test for StripHTML go test -test.run=NONE -bench=".*" -test.benchmem=true ./helpers Old vs new impl (string.Replace vs string.Replacer): benchmark old ns/op new ns/op delta BenchmarkStripHTML 10210 6572 -35.63% benchmark old allocs new allocs delta BenchmarkStripHTML 6 5 -16.67% benchmark old bytes new bytes delta BenchmarkStripHTML 1456 848 -41.76% --- helpers/content_test.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/helpers/content_test.go b/helpers/content_test.go index 44cee2f50..e2410cedd 100644 --- a/helpers/content_test.go +++ b/helpers/content_test.go @@ -7,6 +7,8 @@ import ( "testing" ) +const tstHtmlContent = "
content foobar. Follow up

This is some text.
And some more.

" + func TestStripHTML(t *testing.T) { type test struct { input, expected string @@ -26,6 +28,13 @@ func TestStripHTML(t *testing.T) { } } +func BenchmarkStripHTML(b *testing.B) { + b.ResetTimer() + for i := 0; i < b.N; i++ { + StripHTML(tstHtmlContent) + } +} + func TestStripEmptyNav(t *testing.T) { cleaned := StripEmptyNav([]byte("do\n\nbedobedo")) assert.Equal(t, []byte("dobedobedo"), cleaned)