Esempio n. 1
0
 public Consumer(ICoalescingBuffer<long, MarketSnapshot> buffer, int numberOfInstruments, MarketSnapshot poisonPill, StopWatch stopWatch)
 {
     _buffer = buffer;
     _numberOfInstruments = numberOfInstruments;
     _poisonPill = poisonPill;
     _stopWatch = stopWatch;
     LatestSnapshots = new MarketSnapshot[numberOfInstruments];
 }
Esempio n. 2
0
 public Producer(ICoalescingBuffer<long, MarketSnapshot> buffer, int numberOfInstruments, long numberOfUpdates, MarketSnapshot poisonPill, StopWatch stopWatch)
 {
     _buffer = buffer;
     _numberOfInstruments = numberOfInstruments;
     _numberOfUpdates = numberOfUpdates;
     _poisonPill = poisonPill;
     _stopWatch = stopWatch;
     _snapshots = CreateSnapshots(numberOfInstruments);
 }
        public long Run()
        {
            gc();
            Console.WriteLine("testing " + _buffer.GetType() + " with " + _numberOfUpdates + " updates...");
            var stopWatch = new StopWatch();

            var producer = new Producer(_buffer, NumberOfInstruments, _numberOfUpdates, PoisonPill, stopWatch);
            var consumer = new Consumer(_buffer, NumberOfInstruments, PoisonPill, stopWatch);

            var producerThread = new Thread(producer.Run);
            var consumerThread = new Thread(consumer.Run);

            producerThread.Start();
            consumerThread.Start();

            consumerThread.Join();

            return ComputeAndPrintResults(consumer, stopWatch.nanosTaken());
        }
Esempio n. 4
0
 public Consumer(ICoalescingBuffer <long, MarketSnapshot> buffer, int numberOfInstruments, MarketSnapshot poisonPill, StopWatch stopWatch)
 {
     _buffer = buffer;
     _numberOfInstruments = numberOfInstruments;
     _poisonPill          = poisonPill;
     _stopWatch           = stopWatch;
     LatestSnapshots      = new MarketSnapshot[numberOfInstruments];
 }
Esempio n. 5
0
 public Producer(ICoalescingBuffer <long, MarketSnapshot> buffer, int numberOfInstruments, long numberOfUpdates, MarketSnapshot poisonPill, StopWatch stopWatch)
 {
     _buffer = buffer;
     _numberOfInstruments = numberOfInstruments;
     _numberOfUpdates     = numberOfUpdates;
     _poisonPill          = poisonPill;
     _stopWatch           = stopWatch;
     _snapshots           = CreateSnapshots(numberOfInstruments);
 }