Optimize replaceShortcodeTokens
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Thu, 25 Feb 2016 20:31:22 +0000 (21:31 +0100)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Thu, 25 Feb 2016 22:50:43 +0000 (23:50 +0100)
commit455df1075205d5fcda184410575e535e605c8f20
treed8558f0eb2bb11613699ed165868e281d448af8f
parent83759953784367ef3ec16d494890167a2380353b
Optimize replaceShortcodeTokens

We can of course skip reading the entire byte slice again and again.

This was a slip in the original implementation; functionally the same,
but is slightly faster, esp. for larger data sets with many shortcodes:

```
benchmark                             old ns/op     new ns/op     delta
BenchmarkReplaceShortcodeTokens-4     15505         14753         -4.85%

benchmark                             old allocs     new allocs     delta
BenchmarkReplaceShortcodeTokens-4     1              1              +0.00%

benchmark                             old bytes     new bytes     delta
BenchmarkReplaceShortcodeTokens-4     3072          3072          +0.00%
```
hugolib/shortcode.go