shithub: hugo

Download patch

ref: d3cd68e65646c77da94a9322758519e2ef821ec6
parent: 68f4cd829ee32a2449c4fbea392ace9f7f8022cf
author: Albert Nigmatzianov <[email protected]>
date: Mon Mar 20 06:47:46 EDT 2017

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%

--- a/parser/frontmatter.go
+++ b/parser/frontmatter.go
@@ -176,8 +176,7 @@
 	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
 	}