• Nigel Tao's avatar
    exp/html: add some tokenizer and parser benchmarks. · 034fa90d
    Nigel Tao authored
    $GOROOT/src/pkg/exp/html/testdata/go1.html is an execution of the
    $GOROOT/doc/go1.html template by godoc.
    
    Sample numbers on my linux,amd64 desktop:
    BenchmarkParser	     500	   4699198 ns/op	  16.63 MB/s
    --- BENCH: BenchmarkParser
            parse_test.go:409: 1 iterations, 14653 mallocs per iteration
            parse_test.go:409: 100 iterations, 14651 mallocs per iteration
            parse_test.go:409: 500 iterations, 14651 mallocs per iteration
    BenchmarkRawLevelTokenizer	    2000	    904957 ns/op	  86.37 MB/s
    --- BENCH: BenchmarkRawLevelTokenizer
            token_test.go:657: 1 iterations, 28 mallocs per iteration
            token_test.go:657: 100 iterations, 28 mallocs per iteration
            token_test.go:657: 2000 iterations, 28 mallocs per iteration
    BenchmarkLowLevelTokenizer	    2000	   1134300 ns/op	  68.91 MB/s
    --- BENCH: BenchmarkLowLevelTokenizer
            token_test.go:657: 1 iterations, 41 mallocs per iteration
            token_test.go:657: 100 iterations, 41 mallocs per iteration
            token_test.go:657: 2000 iterations, 41 mallocs per iteration
    BenchmarkHighLevelTokenizer	    1000	   2096179 ns/op	  37.29 MB/s
    --- BENCH: BenchmarkHighLevelTokenizer
            token_test.go:657: 1 iterations, 6616 mallocs per iteration
            token_test.go:657: 100 iterations, 6616 mallocs per iteration
            token_test.go:657: 1000 iterations, 6616 mallocs per iteration
    
    R=rsc
    CC=andybalholm, golang-dev, r
    https://golang.org/cl/6257067
    034fa90d
go1.html 76.3 KB