private static void ImageProcessingConsole(Bitmap image) { // we apply a filter 50 times int numFilters = 50; // in the pipelined version the image // is divided into 30 strips int strips = 30; Filter[] filters = new Filter[numFilters]; for (int i = 0; i < numFilters; i++) { filters[i] = Filter.MEDIAN_FILTER; } // Let the JIT compilation kick in ImageProcessing.ApplyFilters(image, filters); ImageProcessing.ApplyFiltersPipelined(image, filters, strips); long start = DateTime.Now.Ticks; ImageProcessing.ApplyFilters(image, filters); long end = DateTime.Now.Ticks; long tSeq = (end - start) / 10000; Console.WriteLine("Time spent " + tSeq); start = System.DateTime.Now.Ticks; ImageProcessing.ApplyFiltersPipelined(image, filters, strips); end = System.DateTime.Now.Ticks; long tPar = (end - start) / 10000; Console.WriteLine("Time spent " + tPar); Console.WriteLine("Speed up " + (double)tSeq / tPar); }