mirror of
https://github.com/golang/go
synced 2024-11-05 16:16:11 -07:00
cmd/compiler: skip some go/printer work in rulegen
We use go/format on the final output, so don't bother with the added tabwriter work to align comments when using go/printer. name old time/op new time/op delta Rulegen 2.53s ± 2% 2.48s ± 1% -2.20% (p=0.032 n=5+5) name old user-time/op new user-time/op delta Rulegen 11.2s ± 1% 10.8s ± 0% -3.72% (p=0.008 n=5+5) name old sys-time/op new sys-time/op delta Rulegen 218ms ±17% 207ms ±19% ~ (p=0.548 n=5+5) name old peak-RSS-bytes new peak-RSS-bytes delta Rulegen 184MB ± 3% 175MB ± 4% ~ (p=0.056 n=5+5) Change-Id: I53bad2ab15cace67415f2171fffcd13ed596e62b Reviewed-on: https://go-review.googlesource.com/c/go/+/195219 Run-TryBot: Daniel Martí <mvdan@mvdan.cc> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
parent
357e8f83f8
commit
0e0bff840e
@ -607,7 +607,7 @@ func fprint(w io.Writer, n Node) {
|
||||
fprint(w, n.expr)
|
||||
fmt.Fprintf(w, " {\nbreak\n}\n")
|
||||
case ast.Node:
|
||||
printer.Fprint(w, emptyFset, n)
|
||||
printConfig.Fprint(w, emptyFset, n)
|
||||
if _, ok := n.(ast.Stmt); ok {
|
||||
fmt.Fprintln(w)
|
||||
}
|
||||
@ -616,6 +616,10 @@ func fprint(w io.Writer, n Node) {
|
||||
}
|
||||
}
|
||||
|
||||
var printConfig = printer.Config{
|
||||
Mode: printer.RawFormat, // we use go/format later, so skip work here
|
||||
}
|
||||
|
||||
var emptyFset = token.NewFileSet()
|
||||
|
||||
// Node can be a Statement or an ast.Expr.
|
||||
|
Loading…
Reference in New Issue
Block a user