From: bep Date: Fri, 6 Feb 2015 14:35:45 +0000 (+0100) Subject: Use buffer pool in StripHTML X-Git-Tag: v0.13~62 X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=08219161;p=brevno-suite%2Fhugo Use buffer pool in StripHTML Allocates less memory: benchmark old ns/op new ns/op delta BenchmarkStripHTML 6572 6695 +1.87% benchmark old allocs new allocs delta BenchmarkStripHTML 5 4 -20.00% benchmark old bytes new bytes delta BenchmarkStripHTML 848 737 -13.09% Compared to 0.12: benchmark old ns/op new ns/op delta BenchmarkStripHTML 10210 6695 -34.43% benchmark old allocs new allocs delta BenchmarkStripHTML 6 4 -33.33% benchmark old bytes new bytes delta BenchmarkStripHTML 1456 737 -49.38% --- diff --git a/helpers/content.go b/helpers/content.go index 78b4f8e9..914fdfda 100644 --- a/helpers/content.go +++ b/helpers/content.go @@ -23,9 +23,9 @@ import ( "os/exec" "github.com/russross/blackfriday" - "github.com/spf13/viper" - + bp "github.com/spf13/hugo/bufferpool" jww "github.com/spf13/jwalterweatherman" + "github.com/spf13/viper" "strings" "sync" @@ -81,7 +81,9 @@ func StripHTML(s string) string { s = stripHTMLReplacer.Replace(s) // Walk through the string removing all tags - b := new(bytes.Buffer) + b := bp.GetBuffer() + defer bp.PutBuffer(b) + inTag := false for _, r := range s { switch r {