diff options
| author | Keith Randall <khr@golang.org> | 2025-04-11 16:35:13 -0700 |
|---|---|---|
| committer | Keith Randall <khr@google.com> | 2025-04-14 08:06:30 -0700 |
| commit | e278a789b61ffbdf4f6ca8accf43ab04148cd551 (patch) | |
| tree | e34b25cb8e89c8c2369e40042d21bba4c76253c5 /src/path | |
| parent | 80bff42fdd0380c09f4df35c4baacb9cfdae5aae (diff) | |
| download | go-e278a789b61ffbdf4f6ca8accf43ab04148cd551.tar.xz | |
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>
Diffstat (limited to 'src/path')
| -rw-r--r-- | src/path/path_test.go | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/path/path_test.go b/src/path/path_test.go index a57286f6b8..6bd7a2cdad 100644 --- a/src/path/path_test.go +++ b/src/path/path_test.go @@ -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] + } +} |
