aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/github.com/google/gopacket/benchmark_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/google/gopacket/benchmark_test.go')
-rw-r--r--vendor/github.com/google/gopacket/benchmark_test.go194
1 files changed, 0 insertions, 194 deletions
diff --git a/vendor/github.com/google/gopacket/benchmark_test.go b/vendor/github.com/google/gopacket/benchmark_test.go
deleted file mode 100644
index 74a1d28..0000000
--- a/vendor/github.com/google/gopacket/benchmark_test.go
+++ /dev/null
@@ -1,194 +0,0 @@
-// Copyright 2012, Google, Inc. All rights reserved.
-//
-// Use of this source code is governed by a BSD-style license
-// that can be found in the LICENSE file in the root of the source
-// tree.
-
-package gopacket
-
-import (
- "runtime"
- "testing"
-)
-
-// A few benchmarks for figuring out exactly how fast some underlying Go
-// things are.
-
-type testError struct{}
-
-func (t *testError) Error() string { return "abc" }
-
-func BenchmarkTypeAssertion(b *testing.B) {
- var e error = &testError{}
- for i := 0; i < b.N; i++ {
- _, _ = e.(*testError)
- }
-}
-
-func BenchmarkMapLookup(b *testing.B) {
- m := map[LayerType]bool{
- LayerTypePayload: true,
- }
- for i := 0; i < b.N; i++ {
- _ = m[LayerTypePayload]
- }
-}
-
-func BenchmarkNilMapLookup(b *testing.B) {
- var m map[LayerType]bool
- for i := 0; i < b.N; i++ {
- _ = m[LayerTypePayload]
- }
-}
-
-func BenchmarkNilMapLookupWithNilCheck(b *testing.B) {
- var m map[LayerType]bool
- for i := 0; i < b.N; i++ {
- if m != nil {
- _ = m[LayerTypePayload]
- }
- }
-}
-
-func BenchmarkArrayLookup(b *testing.B) {
- m := make([]bool, 100)
- for i := 0; i < b.N; i++ {
- _ = m[LayerTypePayload]
- }
-}
-
-var testError1 = &testError{}
-var testError2 error = testError1
-
-func BenchmarkTypeToInterface1(b *testing.B) {
- var e error
- for i := 0; i < b.N; i++ {
- e = testError1
- }
- // Have to do someting with 'e' or the compiler complains about an unused
- // variable.
- testError2 = e
-}
-func BenchmarkTypeToInterface2(b *testing.B) {
- var e error
- for i := 0; i < b.N; i++ {
- e = testError2
- }
- // Have to do someting with 'e' or the compiler complains about an unused
- // variable.
- testError2 = e
-}
-
-var decodeOpts DecodeOptions
-
-func decodeOptsByValue(_ DecodeOptions) {}
-func decodeOptsByPointer(_ *DecodeOptions) {}
-func BenchmarkPassDecodeOptionsByValue(b *testing.B) {
- for i := 0; i < b.N; i++ {
- decodeOptsByValue(decodeOpts)
- }
-}
-func BenchmarkPassDecodeOptionsByPointer(b *testing.B) {
- for i := 0; i < b.N; i++ {
- decodeOptsByPointer(&decodeOpts)
- }
-}
-
-func BenchmarkLockOSThread(b *testing.B) {
- for i := 0; i < b.N; i++ {
- runtime.LockOSThread()
- }
-}
-func BenchmarkUnlockOSThread(b *testing.B) {
- for i := 0; i < b.N; i++ {
- runtime.UnlockOSThread()
- }
-}
-func lockUnlock() {
- runtime.LockOSThread()
- runtime.UnlockOSThread()
-}
-func lockDeferUnlock() {
- runtime.LockOSThread()
- defer runtime.UnlockOSThread()
-}
-func BenchmarkLockUnlockOSThread(b *testing.B) {
- for i := 0; i < b.N; i++ {
- lockUnlock()
- }
-}
-func BenchmarkLockDeferUnlockOSThread(b *testing.B) {
- for i := 0; i < b.N; i++ {
- lockDeferUnlock()
- }
-}
-
-func BenchmarkUnbufferedChannel(b *testing.B) {
- ca := make(chan bool)
- cb := make(chan bool)
- defer close(ca)
- go func() {
- defer close(cb)
- for _ = range ca {
- cb <- true
- }
- }()
- for i := 0; i < b.N; i++ {
- ca <- true
- <-cb
- }
-}
-func BenchmarkSmallBufferedChannel(b *testing.B) {
- ca := make(chan bool, 1)
- cb := make(chan bool, 1)
- defer close(ca)
- go func() {
- defer close(cb)
- for _ = range ca {
- cb <- true
- }
- }()
- for i := 0; i < b.N; i++ {
- ca <- true
- <-cb
- }
-}
-func BenchmarkLargeBufferedChannel(b *testing.B) {
- ca := make(chan bool, 1000)
- cb := make(chan bool, 1000)
- defer close(ca)
- go func() {
- defer close(cb)
- for _ = range ca {
- cb <- true
- }
- }()
- for i := 0; i < b.N; i++ {
- ca <- true
- <-cb
- }
-}
-func BenchmarkEndpointFastHashShort(b *testing.B) {
- e := Endpoint{typ: 1, len: 2}
- for i := 0; i < b.N; i++ {
- e.FastHash()
- }
-}
-func BenchmarkEndpointFastHashLong(b *testing.B) {
- e := Endpoint{typ: 1, len: 16}
- for i := 0; i < b.N; i++ {
- e.FastHash()
- }
-}
-func BenchmarkFlowFastHashShort(b *testing.B) {
- e := Flow{typ: 1, slen: 2, dlen: 2}
- for i := 0; i < b.N; i++ {
- e.FastHash()
- }
-}
-func BenchmarkFlowFastHashLong(b *testing.B) {
- e := Flow{typ: 1, slen: 16, dlen: 16}
- for i := 0; i < b.N; i++ {
- e.FastHash()
- }
-}