Tests are using new wireup behavior.
diff --git a/benchmark-disruptor/writer_await_test.go b/benchmark-disruptor/writer_await_test.go
index 81f453e..f782ac1 100644
--- a/benchmark-disruptor/writer_await_test.go
+++ b/benchmark-disruptor/writer_await_test.go
@@ -8,16 +8,19 @@
func BenchmarkWriterAwaitOne(b *testing.B) {
ringBuffer := [RingBufferSize]int64{}
- written, read := disruptor.NewCursor(), disruptor.NewCursor()
- reader := disruptor.NewReader(read, written, written, SampleConsumer{&ringBuffer})
- writer := disruptor.NewWriter(written, read, RingBufferSize)
- reader.Start()
+ controller := disruptor.
+ Configure(RingBufferSize).
+ WithConsumerGroup(SampleConsumer{&ringBuffer}).
+ Build()
+ controller.Start()
+ writer := controller.Writer()
iterations := int64(b.N)
+ sequence := disruptor.InitialSequenceValue
+
b.ReportAllocs()
b.ResetTimer()
- sequence := disruptor.InitialSequenceValue
for sequence < iterations {
sequence += ReserveOne
writer.Await(sequence)
@@ -25,20 +28,24 @@
writer.Commit(sequence, sequence)
}
- reader.Stop()
+ b.StopTimer()
+ controller.Stop()
}
func BenchmarkWriterAwaitMany(b *testing.B) {
ringBuffer := [RingBufferSize]int64{}
- written, read := disruptor.NewCursor(), disruptor.NewCursor()
- reader := disruptor.NewReader(read, written, written, SampleConsumer{&ringBuffer})
- writer := disruptor.NewWriter(written, read, RingBufferSize)
- reader.Start()
+ controller := disruptor.
+ Configure(RingBufferSize).
+ WithConsumerGroup(SampleConsumer{&ringBuffer}).
+ Build()
+ controller.Start()
+ writer := controller.Writer()
iterations := int64(b.N)
+ sequence := disruptor.InitialSequenceValue
+
b.ReportAllocs()
b.ResetTimer()
- sequence := disruptor.InitialSequenceValue
for sequence < iterations {
sequence += ReserveMany
writer.Await(sequence)
@@ -50,5 +57,6 @@
writer.Commit(sequence, sequence)
}
- reader.Stop()
+ b.StopTimer()
+ controller.Stop()
}
diff --git a/benchmark-disruptor/writer_reservation_multiple_readers_test.go b/benchmark-disruptor/writer_reservation_multiple_readers_test.go
index 2bd8775..27c97d0 100644
--- a/benchmark-disruptor/writer_reservation_multiple_readers_test.go
+++ b/benchmark-disruptor/writer_reservation_multiple_readers_test.go
@@ -8,45 +8,43 @@
func BenchmarkWriterReserveOneMultipleReaders(b *testing.B) {
ringBuffer := [RingBufferSize]int64{}
- written, read1, read2 := disruptor.NewCursor(), disruptor.NewCursor(), disruptor.NewCursor()
- reader1 := disruptor.NewReader(read1, written, written, SampleConsumer{&ringBuffer})
- reader2 := disruptor.NewReader(read2, written, written, SampleConsumer{&ringBuffer})
- barrier := disruptor.NewCompositeBarrier(read1, read2)
- writer := disruptor.NewWriter(written, barrier, RingBufferSize)
-
- reader1.Start()
- reader2.Start()
+ controller := disruptor.
+ Configure(RingBufferSize).
+ WithConsumerGroup(SampleConsumer{&ringBuffer}, SampleConsumer{&ringBuffer}).
+ Build()
+ controller.Start()
+ writer := controller.Writer()
iterations := int64(b.N)
+ sequence := disruptor.InitialSequenceValue
+
b.ReportAllocs()
b.ResetTimer()
- sequence := disruptor.InitialSequenceValue
for sequence < iterations {
sequence = writer.Reserve(ReserveOne)
ringBuffer[sequence&RingBufferMask] = sequence
writer.Commit(sequence, sequence)
}
- reader1.Stop()
- reader2.Stop()
+ b.StopTimer()
+ controller.Stop()
}
func BenchmarkWriterReserveManyMultipleReaders(b *testing.B) {
ringBuffer := [RingBufferSize]int64{}
- written, read1, read2 := disruptor.NewCursor(), disruptor.NewCursor(), disruptor.NewCursor()
- reader1 := disruptor.NewReader(read1, written, written, SampleConsumer{&ringBuffer})
- reader2 := disruptor.NewReader(read2, written, written, SampleConsumer{&ringBuffer})
- barrier := disruptor.NewCompositeBarrier(read1, read2)
- writer := disruptor.NewWriter(written, barrier, RingBufferSize)
-
- reader1.Start()
- reader2.Start()
+ controller := disruptor.
+ Configure(RingBufferSize).
+ WithConsumerGroup(SampleConsumer{&ringBuffer}, SampleConsumer{&ringBuffer}).
+ Build()
+ controller.Start()
+ writer := controller.Writer()
iterations := int64(b.N)
+ sequence := disruptor.InitialSequenceValue
+
b.ReportAllocs()
b.ResetTimer()
- sequence := disruptor.InitialSequenceValue
for sequence < iterations {
sequence = writer.Reserve(ReserveMany)
@@ -57,6 +55,6 @@
writer.Commit(sequence, sequence)
}
- reader1.Stop()
- reader2.Stop()
+ b.StopTimer()
+ controller.Stop()
}
diff --git a/benchmark-disruptor/writer_reservation_test.go b/benchmark-disruptor/writer_reservation_test.go
index 4be4238..98745e7 100644
--- a/benchmark-disruptor/writer_reservation_test.go
+++ b/benchmark-disruptor/writer_reservation_test.go
@@ -8,36 +8,43 @@
func BenchmarkWriterReserveOne(b *testing.B) {
ringBuffer := [RingBufferSize]int64{}
- written, read := disruptor.NewCursor(), disruptor.NewCursor()
- reader := disruptor.NewReader(read, written, written, SampleConsumer{&ringBuffer})
- writer := disruptor.NewWriter(written, read, RingBufferSize)
- reader.Start()
+ controller := disruptor.
+ Configure(RingBufferSize).
+ WithConsumerGroup(SampleConsumer{&ringBuffer}).
+ Build()
+ controller.Start()
+ writer := controller.Writer()
iterations := int64(b.N)
+ sequence := disruptor.InitialSequenceValue
+
b.ReportAllocs()
b.ResetTimer()
- sequence := disruptor.InitialSequenceValue
for sequence < iterations {
sequence = writer.Reserve(ReserveOne)
ringBuffer[sequence&RingBufferMask] = sequence
writer.Commit(sequence, sequence)
}
- reader.Stop()
+ b.StopTimer()
+ controller.Stop()
}
func BenchmarkWriterReserveMany(b *testing.B) {
ringBuffer := [RingBufferSize]int64{}
- written, read := disruptor.NewCursor(), disruptor.NewCursor()
- reader := disruptor.NewReader(read, written, written, SampleConsumer{&ringBuffer})
- writer := disruptor.NewWriter(written, read, RingBufferSize)
- reader.Start()
+ controller := disruptor.
+ Configure(RingBufferSize).
+ WithConsumerGroup(SampleConsumer{&ringBuffer}).
+ Build()
+ controller.Start()
+ writer := controller.Writer()
iterations := int64(b.N)
+ sequence := disruptor.InitialSequenceValue
+
b.ReportAllocs()
b.ResetTimer()
- sequence := disruptor.InitialSequenceValue
for sequence < iterations {
sequence = writer.Reserve(ReserveMany)
@@ -48,5 +55,6 @@
writer.Commit(sequence, sequence)
}
- reader.Stop()
+ b.StopTimer()
+ controller.Stop()
}