]> Cypherpunks repositories - gostls13.git/commit
text/template/parse: speed up nodes printing
authorAriel Mashraki <ariel@mashraki.co.il>
Tue, 1 Oct 2019 19:40:20 +0000 (22:40 +0300)
committerBrad Fitzpatrick <bradfitz@golang.org>
Thu, 3 Oct 2019 00:16:28 +0000 (00:16 +0000)
commitdebbb1e78d08b201313c83f2d236de90d8444c8e
tree670c45ef4ef60749f894cd5929061823e5a43a5a
parentf0e940ebc985661f54d31c8d9ba31a553b87041b
text/template/parse: speed up nodes printing

This CL is a follow up for 198080.
Added a private writeTo method to the Node interface,
in order to use the same builder for printing all nodes
in the tree. Benchmark output against master:

benchmark                     old ns/op     new ns/op     delta
BenchmarkParseLarge-8         24594994      25292054      +2.83%
BenchmarkVariableString-8     117           118           +0.85%
BenchmarkListString-8         10475         3353          -67.99%

benchmark                     old allocs     new allocs     delta
BenchmarkVariableString-8     3              3              +0.00%
BenchmarkListString-8         149            31             -79.19%

benchmark                     old bytes     new bytes     delta
BenchmarkVariableString-8     72            72            +0.00%
BenchmarkListString-8         5698          1608          -71.78%

Change-Id: I2b1cf07cda65c1b80083fb99671289423700feba
Reviewed-on: https://go-review.googlesource.com/c/go/+/198278
Reviewed-by: Rob Pike <r@golang.org>
Run-TryBot: Rob Pike <r@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
src/text/template/parse/node.go
src/text/template/parse/parse_test.go