parser: Improve TOML frontmatter parser performance - hugo - [fork] hugo port for 9front
HTML git clone git@git.drkhsh.at/hugo.git
DIR Log
DIR Files
DIR Refs
DIR Submodules
DIR README
DIR LICENSE
---
DIR commit d3cd68e65646c77da94a9322758519e2ef821ec6
DIR parent 68f4cd829ee32a2449c4fbea392ace9f7f8022cf
HTML Author: Albert Nigmatzianov <albertnigma@gmail.com>
Date: Mon, 20 Mar 2017 10:47:46 +0500
parser: Improve TOML frontmatter parser performance
Difference between toml.Load(string(datum)) and
toml.LoadReader(bytes.NewReader(datum)):
benchmark old ns/op new ns/op delta
BenchmarkLoad-4 82068 78489 -4.36%
benchmark old allocs new allocs delta
BenchmarkLoad-4 494 493 -0.20%
benchmark old bytes new bytes delta
BenchmarkLoad-4 17009 16913 -0.56%
Diffstat:
M parser/frontmatter.go | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
---
DIR diff --git a/parser/frontmatter.go b/parser/frontmatter.go
@@ -176,8 +176,7 @@ func HandleTOMLMetaData(datum []byte) (interface{}, error) {
m := map[string]interface{}{}
datum = removeTOMLIdentifier(datum)
- tree, err := toml.Load(string(datum))
-
+ tree, err := toml.LoadReader(bytes.NewReader(datum))
if err != nil {
return m, err
}