static void Main() { const int NUM_CONSUMERS = 1; TradeDayProcessor processor = new TradeDayProcessor(NUM_CONSUMERS, @"..\..\..\dowjones.csv", day => (day.Close - day.Open) / day.Open > 0.05); // TODO: Enable cancellation Stopwatch sw = Stopwatch.StartNew(); // TODO: Pass in cancellation token processor.Start(); int totalMatches = processor.GetMatchingCount(); Console.WriteLine("Total processing time {0}", sw.Elapsed); Console.WriteLine("Total matches {0}", totalMatches); }
static void Main() { const int NUM_CONSUMERS = 10; TradeDayProcessor processor = new TradeDayProcessor(NUM_CONSUMERS, @"..\..\..\dowjones.csv", day => (day.Close - day.Open) / day.Open > 0.05); CancellationTokenSource src = new CancellationTokenSource(); Task cancelTask = new Task(Canceller, src); cancelTask.Start(); Stopwatch sw = Stopwatch.StartNew(); processor.Start(src.Token); int totalMatches = processor.GetMatchingCount(); Console.WriteLine("Total processing time {0}", sw.Elapsed); Console.WriteLine("Total matches {0}", totalMatches); }