Publishing a single item (but with the capability to publish multiple) at 5.29ns per operation.
diff --git a/example/main.go b/example/main.go
index 4e6ea20..3c6a593 100644
--- a/example/main.go
+++ b/example/main.go
@@ -30,13 +30,20 @@
 	fmt.Println(Iterations, finished.Sub(started))
 }
 
-// TODO: experiment with: sequence, gate = writer.Reserve(sequence, gate)
+const Reservations = 1
+const ReservationMask = -Reservations + 1
+
 func publish(written *disruptor.Cursor, upstream disruptor.Barrier) {
 	sequence := disruptor.InitialSequenceValue
 	writer := disruptor.NewWriter(written, upstream, BufferSize)
 	for sequence <= Iterations {
-		sequence = writer.Reserve(1)
-		ringBuffer[sequence&BufferMask] = sequence
+		sequence = writer.Reserve(Reservations)
+
+		for i := sequence + ReservationMask; i <= sequence; i++ {
+			ringBuffer[i&BufferMask] = i
+		}
+
+		// ringBuffer[sequence&BufferMask] = sequence
 		writer.Commit(sequence)
 	}
 }