]> Cypherpunks repositories - gostls13.git/commitdiff
exp/norm: fix benchmark bug
authorRobert Griesemer <gri@golang.org>
Tue, 27 Sep 2011 01:23:21 +0000 (18:23 -0700)
committerRobert Griesemer <gri@golang.org>
Tue, 27 Sep 2011 01:23:21 +0000 (18:23 -0700)
- don't use range over string to copy string bytes
- some code simplification

R=mpvl
CC=golang-dev
https://golang.org/cl/5144044

src/pkg/exp/norm/normalize_test.go

index 6e8650d59d3b8695580eb0fc9a88b07bc7832873..66ad223f8d1107449bef10321f7a3bee9fb2a77f 100644 (file)
@@ -485,19 +485,15 @@ func BenchmarkNormalizeAsciiNFKD(b *testing.B) {
 
 func doTextBenchmark(b *testing.B, s string) {
        b.StopTimer()
-       in := make([]byte, len(s))
-       for i := range s {
-               in[i] = s[i]
-       }
-       // Using copy(in, s) makes many tests much slower!?
        b.SetBytes(int64(len(s)) * 4)
-       var buf = make([]byte, 2*len(in))
+       in := []byte(s)
+       var buf = make([]byte, 0, 2*len(in))
        b.StartTimer()
        for i := 0; i < b.N; i++ {
-               buf = NFC.Append(buf[0:0], in...)
-               buf = NFD.Append(buf[0:0], in...)
-               buf = NFKC.Append(buf[0:0], in...)
-               buf = NFKD.Append(buf[0:0], in...)
+               NFC.Append(buf, in...)
+               NFD.Append(buf, in...)
+               NFKC.Append(buf, in...)
+               NFKD.Append(buf, in...)
        }
 }