public ThrottledOnePublisherToThreeProcessorPipelineLatencyTest() //: base(TestName, ITERATIONS) { InitHistogram(); stepOneSequenceBarrier = ringBuffer.NewBarrier(); stepOneFunctionHandler = new LatencyStepEventHandler_V3(FunctionStep.One, _histogram, TicksToNanos); stepOneBatchProcessor = new BatchEventProcessor <ValueEvent>(ringBuffer, stepOneSequenceBarrier, stepOneFunctionHandler); stepTwoSequenceBarrier = ringBuffer.NewBarrier(stepOneBatchProcessor.Sequence); stepTwoFunctionHandler = new LatencyStepEventHandler_V3(FunctionStep.Two, _histogram, TicksToNanos); stepTwoBatchProcessor = new BatchEventProcessor <ValueEvent>(ringBuffer, stepTwoSequenceBarrier, stepTwoFunctionHandler); stepThreeSequenceBarrier = ringBuffer.NewBarrier(stepTwoBatchProcessor.Sequence); stepThreeFunctionHandler = new LatencyStepEventHandler_V3(FunctionStep.Three, _histogram, TicksToNanos); stepThreeBatchProcessor = new BatchEventProcessor <ValueEvent>(ringBuffer, stepThreeSequenceBarrier, stepThreeFunctionHandler); ringBuffer.AddGatingSequences(stepThreeBatchProcessor.Sequence); }
public ThrottledOnePublisherToThreeProcessorPipelineLatencyTest() //: base(TestName, ITERATIONS) { InitHistogram(); stepOneSequenceBarrier = ringBuffer.NewBarrier(); stepOneFunctionHandler = new LatencyStepEventHandler_V3(FunctionStep.One, _histogram, TicksToNanos); stepOneBatchProcessor = new BatchEventProcessor<ValueEvent>(ringBuffer, stepOneSequenceBarrier, stepOneFunctionHandler); stepTwoSequenceBarrier = ringBuffer.NewBarrier(stepOneBatchProcessor.Sequence); stepTwoFunctionHandler = new LatencyStepEventHandler_V3(FunctionStep.Two, _histogram, TicksToNanos); stepTwoBatchProcessor = new BatchEventProcessor<ValueEvent>(ringBuffer, stepTwoSequenceBarrier, stepTwoFunctionHandler); stepThreeSequenceBarrier = ringBuffer.NewBarrier(stepTwoBatchProcessor.Sequence); stepThreeFunctionHandler = new LatencyStepEventHandler_V3(FunctionStep.Three, _histogram, TicksToNanos); stepThreeBatchProcessor = new BatchEventProcessor<ValueEvent>(ringBuffer, stepThreeSequenceBarrier, stepThreeFunctionHandler); ringBuffer.AddGatingSequences(stepThreeBatchProcessor.Sequence); }