mirror of
https://github.com/golang/go.git
synced 2025-05-05 15:43:04 +00:00
path: add Join benchmark
This is a case where CL 653856 saves an allocation. │ old │ new │ │ sec/op │ sec/op vs base │ Join-24 73.57n ± 1% 60.27n ± 1% -18.07% (p=0.000 n=10) │ old │ new │ │ B/op │ B/op vs base │ Join-24 48.00 ± 0% 24.00 ± 0% -50.00% (p=0.000 n=10) │ old │ new │ │ allocs/op │ allocs/op vs base │ Join-24 2.000 ± 0% 1.000 ± 0% -50.00% (p=0.000 n=10) Change-Id: I56308262ca73a7ab9698b54fd8681f5b44626995 Reviewed-on: https://go-review.googlesource.com/c/go/+/665075 Reviewed-by: Keith Randall <khr@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Cherry Mui <cherryyz@google.com>
This commit is contained in:
parent
80bff42fdd
commit
e278a789b6
@ -5,6 +5,7 @@
|
||||
package path_test
|
||||
|
||||
import (
|
||||
"path"
|
||||
. "path"
|
||||
"runtime"
|
||||
"testing"
|
||||
@ -234,3 +235,14 @@ func TestIsAbs(t *testing.T) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkJoin(b *testing.B) {
|
||||
b.ReportAllocs()
|
||||
parts := []string{"one", "two", "three", "four"}
|
||||
s := parts[0]
|
||||
for b.Loop() {
|
||||
parts[0] = s
|
||||
s = path.Join(parts...)
|
||||
s = s[:3]
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user