diff options
author | bep <bjorn.erik.pedersen@gmail.com> | 2015-02-06 10:00:42 +0100 |
---|---|---|
committer | bep <bjorn.erik.pedersen@gmail.com> | 2015-02-06 10:00:42 +0100 |
commit | 43e48a8989b04f9a434ffa6ff21414adcbb72544 (patch) | |
tree | bbd84f1078acddbf471ddc1070d3d689ac919db1 /helpers/content_test.go | |
parent | 48b6777ea212073d32c3fb59ea3754d5cf8348de (diff) |
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%
Diffstat (limited to 'helpers/content_test.go')
-rw-r--r-- | helpers/content_test.go | 9 |
1 files changed, 9 insertions, 0 deletions
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 = "<!DOCTYPE html><html><head><script src=\"http://two/foobar.js\"></script></head><body><nav><ul><li hugo-nav=\"section_0\"></li><li hugo-nav=\"section_1\"></li></ul></nav><article>content <a href=\"http://two/foobar\">foobar</a>. Follow up</article><p>This is some text.<br>And some more.</p></body></html>" + 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<nav>\n</nav>\n\nbedobedo")) assert.Equal(t, []byte("dobedobedo"), cleaned) |