1
0
mirror of https://github.com/golang/go synced 2024-11-11 18:21:40 -07:00

slices: add benchmark for IsSorted vs. IntsAreSorted

We'd like to mention in a comment that users should prefer
slices.IsSorted over sort.IntsAreSorted and similar
functions. Create a benchmark that shows this.

goos: linux
goarch: amd64
pkg: slices
cpu: 11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz
BenchmarkIntsAreSorted-8             	    6031	    198315 ns/op
BenchmarkIsSorted-8                  	   26580	     45801 ns/op

Change-Id: I4f14fafd799ecec35c8a5215b74994e972103061
Reviewed-on: https://go-review.googlesource.com/c/go/+/502556
Reviewed-by: Ian Lance Taylor <iant@google.com>
Run-TryBot: Eli Bendersky‎ <eliben@golang.org>
Reviewed-by: Eli Bendersky <eliben@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
This commit is contained in:
Eli Bendersky 2023-06-12 09:05:33 -07:00 committed by Eli Bendersky
parent b0e1707f94
commit d9b87d7cc3

View File

@ -77,6 +77,24 @@ func BenchmarkSlicesSortInts_Reversed(b *testing.B) {
}
}
func BenchmarkIntsAreSorted(b *testing.B) {
for i := 0; i < b.N; i++ {
b.StopTimer()
ints := makeSortedInts(N)
b.StartTimer()
sort.IntsAreSorted(ints)
}
}
func BenchmarkIsSorted(b *testing.B) {
for i := 0; i < b.N; i++ {
b.StopTimer()
ints := makeSortedInts(N)
b.StartTimer()
IsSorted(ints)
}
}
// Since we're benchmarking these sorts against each other, make sure that they
// generate similar results.
func TestIntSorts(t *testing.T) {