diff --git a/benchmark-channels/blocking_channel_test.go b/benchmark-channels/blocking_channel_test.go
index 3bae708..0e93cae 100644
--- a/benchmark-channels/blocking_channel_test.go
+++ b/benchmark-channels/blocking_channel_test.go
@@ -5,17 +5,17 @@
 	"testing"
 )
 
-func BenchmarkBlockingChannelOneGoroutine(b *testing.B) {
-	benchmarkBlockingChannel(b)
+func BenchmarkBlockingOneGoroutine(b *testing.B) {
+	benchmarkBlocking(b)
 }
 
-func BenchmarkBlockingChannelTwoGoroutines(b *testing.B) {
+func BenchmarkBlockingTwoGoroutines(b *testing.B) {
 	runtime.GOMAXPROCS(2)
-	benchmarkBlockingChannel(b)
+	benchmarkBlocking(b)
 	runtime.GOMAXPROCS(1)
 }
 
-func benchmarkBlockingChannel(b *testing.B) {
+func benchmarkBlocking(b *testing.B) {
 	iterations := int64(b.N)
 	b.ReportAllocs()
 	b.ResetTimer()
diff --git a/benchmark-channels/non_blocking_channel_test.go b/benchmark-channels/non_blocking_channel_test.go
index a2af9bc..3357f7a 100644
--- a/benchmark-channels/non_blocking_channel_test.go
+++ b/benchmark-channels/non_blocking_channel_test.go
@@ -5,17 +5,17 @@
 	"testing"
 )
 
-func BenchmarkNonBlockingChannelOneGoroutine(b *testing.B) {
-	benchmarkNonBlockingChannel(b)
+func BenchmarkNonBlockingOneGoroutine(b *testing.B) {
+	benchmarkNonBlocking(b)
 }
 
-func BenchmarkNonBlockingChannelTwoGoroutines(b *testing.B) {
+func BenchmarkNonBlockingTwoGoroutines(b *testing.B) {
 	runtime.GOMAXPROCS(2)
-	benchmarkNonBlockingChannel(b)
+	benchmarkNonBlocking(b)
 	runtime.GOMAXPROCS(1)
 }
 
-func benchmarkNonBlockingChannel(b *testing.B) {
+func benchmarkNonBlocking(b *testing.B) {
 	iterations := int64(b.N)
 	b.ReportAllocs()
 	b.ResetTimer()
diff --git a/benchmark-disruptor/multi_writer_test.go b/benchmark-disruptor/multi_writer_test.go
index 79fb34c..16dd620 100644
--- a/benchmark-disruptor/multi_writer_test.go
+++ b/benchmark-disruptor/multi_writer_test.go
@@ -6,7 +6,7 @@
 	"github.com/smartystreets/go-disruptor"
 )
 
-func BenchmarkDisruptorSharedWriterReserveOne(b *testing.B) {
+func BenchmarkSharedWriterReserveOne(b *testing.B) {
 	ringBuffer := [RingBufferSize]int64{}
 	written, read := disruptor.NewCursor(), disruptor.NewCursor()
 	shared := disruptor.NewSharedWriterBarrier(written, RingBufferSize)
@@ -29,7 +29,7 @@
 }
 
 // TODO: off by one
-// func BenchmarkDisruptorSharedWriterReserveMany(b *testing.B) {
+// func BenchmarkSharedWriterReserveMany(b *testing.B) {
 // 	ringBuffer := [RingBufferSize]int64{}
 // 	written, read := disruptor.NewCursor(), disruptor.NewCursor()
 // 	shared := disruptor.NewSharedWriterBarrier(written, RingBufferSize)
diff --git a/benchmark-disruptor/single_writer_await_test.go b/benchmark-disruptor/single_writer_await_test.go
index d73b194..81f453e 100644
--- a/benchmark-disruptor/single_writer_await_test.go
+++ b/benchmark-disruptor/single_writer_await_test.go
@@ -6,7 +6,7 @@
 	"github.com/smartystreets/go-disruptor"
 )
 
-func BenchmarkDisruptorWriterAwaitOne(b *testing.B) {
+func BenchmarkWriterAwaitOne(b *testing.B) {
 	ringBuffer := [RingBufferSize]int64{}
 	written, read := disruptor.NewCursor(), disruptor.NewCursor()
 	reader := disruptor.NewReader(read, written, written, SampleConsumer{&ringBuffer})
@@ -27,7 +27,7 @@
 
 	reader.Stop()
 }
-func BenchmarkDisruptorWriterAwaitMany(b *testing.B) {
+func BenchmarkWriterAwaitMany(b *testing.B) {
 	ringBuffer := [RingBufferSize]int64{}
 	written, read := disruptor.NewCursor(), disruptor.NewCursor()
 	reader := disruptor.NewReader(read, written, written, SampleConsumer{&ringBuffer})
diff --git a/benchmark-disruptor/single_writer_reservation_test.go b/benchmark-disruptor/single_writer_reservation_test.go
index 2f23cd7..4be4238 100644
--- a/benchmark-disruptor/single_writer_reservation_test.go
+++ b/benchmark-disruptor/single_writer_reservation_test.go
@@ -6,7 +6,7 @@
 	"github.com/smartystreets/go-disruptor"
 )
 
-func BenchmarkDisruptorWriterReserveOne(b *testing.B) {
+func BenchmarkWriterReserveOne(b *testing.B) {
 	ringBuffer := [RingBufferSize]int64{}
 	written, read := disruptor.NewCursor(), disruptor.NewCursor()
 	reader := disruptor.NewReader(read, written, written, SampleConsumer{&ringBuffer})
@@ -26,7 +26,7 @@
 
 	reader.Stop()
 }
-func BenchmarkDisruptorWriterReserveMany(b *testing.B) {
+func BenchmarkWriterReserveMany(b *testing.B) {
 	ringBuffer := [RingBufferSize]int64{}
 	written, read := disruptor.NewCursor(), disruptor.NewCursor()
 	reader := disruptor.NewReader(read, written, written, SampleConsumer{&ringBuffer})
