Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "math/rand"
- "sort"
- "testing"
- )
- func BenchmarkInsertSorted(b *testing.B) {
- data := make([]int, b.N)
- for i := 0; i < b.N; i++ {
- data[i] = rand.Int()
- }
- a := []int{}
- for z := 0; z < len(data); z++ {
- x := data[z]
- i := sort.SearchInts(a, x)
- if i >= len(a) || a[i] != x {
- a = append(a, 0)
- copy(a[i+1:], a[i:])
- a[i] = x
- }
- }
- }
- func BenchmarkSortAfter(b *testing.B) {
- data := make([]int, b.N)
- for i := 0; i < b.N; i++ {
- data[i] = rand.Int()
- }
- a := []int{}
- for z := 0; z < len(data); z++ {
- x := data[z]
- a = append(a, x)
- }
- sort.Ints(a)
- j := 0
- for i := 1; i < len(a); i++ {
- if a[j] == a[i] {
- continue
- }
- j++
- a[j] = a[i]
- }
- a = a[:j+1]
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement