OXIESEC PANEL
- Current Dir:
/
/
opt
/
golang
/
1.22.0
/
src
/
slices
Server IP: 2a02:4780:11:1084:0:327f:3464:10
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
02/02/2024 06:09:55 PM
rwxr-xr-x
📄
example_test.go
6.6 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
slices.go
13.58 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
slices_test.go
28.82 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
sort.go
5.83 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
sort_benchmark_test.go
1.26 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
sort_test.go
9.31 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsortanyfunc.go
12.76 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsortordered.go
12.38 KB
02/02/2024 06:09:55 PM
rw-r--r--
Editing: sort_benchmark_test.go
Close
// Copyright 2023 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package slices_test import ( "fmt" "slices" "testing" ) func BenchmarkBinarySearchFloats(b *testing.B) { for _, size := range []int{16, 32, 64, 128, 512, 1024} { b.Run(fmt.Sprintf("Size%d", size), func(b *testing.B) { floats := make([]float64, size) for i := range floats { floats[i] = float64(i) } midpoint := len(floats) / 2 needle := (floats[midpoint] + floats[midpoint+1]) / 2 b.ResetTimer() for i := 0; i < b.N; i++ { slices.BinarySearch(floats, needle) } }) } } type myStruct struct { a, b, c, d string n int } func BenchmarkBinarySearchFuncStruct(b *testing.B) { for _, size := range []int{16, 32, 64, 128, 512, 1024} { b.Run(fmt.Sprintf("Size%d", size), func(b *testing.B) { structs := make([]*myStruct, size) for i := range structs { structs[i] = &myStruct{n: i} } midpoint := len(structs) / 2 needle := &myStruct{n: (structs[midpoint].n + structs[midpoint+1].n) / 2} lessFunc := func(a, b *myStruct) int { return a.n - b.n } b.ResetTimer() for i := 0; i < b.N; i++ { slices.BinarySearchFunc(structs, needle, lessFunc) } }) } }