hugo

Unnamed repository; edit this file 'description' to name the repository.

git clone git://git.shimmy1996.com/hugo.git
commit d3cd68e65646c77da94a9322758519e2ef821ec6
parent 68f4cd829ee32a2449c4fbea392ace9f7f8022cf
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:
Mparser/frontmatter.go | 3+--
1 file changed, 1 insertion(+), 2 deletions(-)
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
 	}