OXIESEC PANEL
- Current Dir:
/
/
opt
/
golang
/
1.19.4
/
src
/
go
/
printer
Server IP: 2a02:4780:11:1084:0:327f:3464:10
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
12/01/2022 06:13:56 PM
rwxr-xr-x
📄
comment.go
3.51 KB
12/01/2022 06:12:58 PM
rw-r--r--
📄
example_test.go
1.78 KB
12/01/2022 06:12:58 PM
rw-r--r--
📄
gobuild.go
4.59 KB
12/01/2022 06:12:58 PM
rw-r--r--
📄
nodes.go
51.57 KB
12/01/2022 06:12:58 PM
rw-r--r--
📄
performance_test.go
1.27 KB
12/01/2022 06:12:58 PM
rw-r--r--
📄
printer.go
40.69 KB
12/01/2022 06:12:58 PM
rw-r--r--
📄
printer_test.go
18.43 KB
12/01/2022 06:12:58 PM
rw-r--r--
📁
testdata
-
12/01/2022 06:13:56 PM
rwxr-xr-x
Editing: performance_test.go
Close
// Copyright 2009 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // This file implements a simple printer performance benchmark: // go test -bench=BenchmarkPrint package printer import ( "bytes" "go/ast" "go/parser" "io" "log" "os" "testing" ) var ( testfile *ast.File testsize int64 ) func testprint(out io.Writer, file *ast.File) { if err := (&Config{TabIndent | UseSpaces | normalizeNumbers, 8, 0}).Fprint(out, fset, file); err != nil { log.Fatalf("print error: %s", err) } } // cannot initialize in init because (printer) Fprint launches goroutines. func initialize() { const filename = "testdata/parser.go" src, err := os.ReadFile(filename) if err != nil { log.Fatalf("%s", err) } file, err := parser.ParseFile(fset, filename, src, parser.ParseComments) if err != nil { log.Fatalf("%s", err) } var buf bytes.Buffer testprint(&buf, file) if !bytes.Equal(buf.Bytes(), src) { log.Fatalf("print error: %s not idempotent", filename) } testfile = file testsize = int64(len(src)) } func BenchmarkPrint(b *testing.B) { if testfile == nil { initialize() } b.ReportAllocs() b.SetBytes(testsize) for i := 0; i < b.N; i++ { testprint(io.Discard, testfile) } }