]> Cypherpunks repositories - gostls13.git/commit
exp/html: add some tokenizer and parser benchmarks.
authorNigel Tao <nigeltao@golang.org>
Wed, 30 May 2012 03:00:32 +0000 (13:00 +1000)
committerNigel Tao <nigeltao@golang.org>
Wed, 30 May 2012 03:00:32 +0000 (13:00 +1000)
commit034fa90dc113994cbbc4e31ae6a2f7c9d06ed1eb
treea92762685b9b27ba7b5a0a9357d5acc2b3eb41dd
parent397b687324f9d178ee06557754d4b85c6f7e44ef
exp/html: add some tokenizer and parser benchmarks.

$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
src/pkg/exp/html/parse_test.go
src/pkg/exp/html/testdata/go1.html [new file with mode: 0644]
src/pkg/exp/html/token_test.go