Skip to content

Comments

Support sub benchmarks#4

Open
miry wants to merge 1 commit intocodingberg:masterfrom
miry:vlaues
Open

Support sub benchmarks#4
miry wants to merge 1 commit intocodingberg:masterfrom
miry:vlaues

Conversation

@miry
Copy link

@miry miry commented Sep 16, 2018

func BenchmarkMerge(b *testing.B) {
  b.Run("hash", func(b *testing.B) {
  }
  b.Run("array", func(b *testing.B) {
  }
}

Would generate output:

BenchmarkMerge/hash-4
BenchmarkMerge/array-4

Add in the list of valid characters / resolve problem.

Sample charts: http://benchgraph.codingberg.com/45

func BenchmarkAccessStructure(b *testing.B) {
	for _, size := range []int{1, 10, 100, 1000, 10000, 100000} {
		benchmarkAccessStructure(b, size)
	}
}

func benchmarkAccessStructure(b *testing.B, size int) {
	var indexes = make([]int, size, size)
	var arr = make([]int, size, size)
	var hash = make(map[int]int)

	rand.Seed(42)
	for i := 0; i < size; i++ {
		indexes[i] = rand.Intn(size)
		arr[i] = i
		hash[i] = i
	}

	b.ResetTimer()

	b.Run(fmt.Sprintf("Array_%d", size), func(b *testing.B) {
		for i := 0; i < b.N; i++ {
			indx := indexes[i%size] % size
			_ = arr[indx]
		}
	})

	b.Run(fmt.Sprintf("Hash_%d", size), func(b *testing.B) {
		for i := 0; i < b.N; i++ {
			indx := indexes[i%size] % size
			_ = hash[indx]
		}
	})
}

```golang
func BenchmarkMerge(b *testing.B) {
  b.Run("hash", func(b *testing.B) {
  }
  b.Run("array", func(b *testing.B) {
  }
}
```

Would generate output:

```
BenchmarkMerge/hash-4
BenchmarkMerge/array-4
```

Add in the list of valid characters `/` resolve problem
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant