add benchmark

main
Jason Staten 2 years ago
parent b0e22a5fc4
commit c3be3cb705

@ -2,6 +2,7 @@ package medianofarrays
import (
"math"
"sort"
)
func median(xs []int) float64 {
@ -46,3 +47,9 @@ func FindMedianSortedArrays(nums1 []int, nums2 []int) float64 {
return findMedianSortedArrays(nums1, nums2)
}
func Lazy(nums1 []int, nums2 []int) float64 {
combined := append(nums1, nums2...)
sort.Ints(combined)
return median(combined)
}

@ -37,3 +37,25 @@ func TestExample1(t *testing.T) {
actual := medianofarrays.FindMedianSortedArrays([]int{1, 2}, []int{3, 4})
require.Equal(t, 2.5, actual)
}
/*
goos: darwin
goarch: arm64
pkg: git.jxs.me/leetgo/medianofarrays
BenchmarkReal-8 95113045 63.64 ns/op
BenchmarkLazy-8 18085866 324.3 ns/op
*/
func BenchmarkReal(b *testing.B) {
left, right := []int{1, 7, 23, 29, 83, 107, 8000, 9000}, []int{2, 4, 6, 7, 9, 73, 84, 106, 108, 109, 8000, 8521, 9000}
for i := 0; i < b.N; i++ {
medianofarrays.FindMedianSortedArrays(left, right)
}
}
func BenchmarkLazy(b *testing.B) {
left, right := []int{1, 7, 23, 29, 83, 107, 8000, 9000}, []int{2, 4, 6, 7, 9, 73, 84, 106, 108, 109, 8000, 8521, 9000}
for i := 0; i < b.N; i++ {
medianofarrays.Lazy(left, right)
}
}

Loading…
Cancel
Save