public void SeqReadTest() { MeasurementUtils.MeasureElapsedTime(string.Format("Sequential Read"), () => { var a = File.ReadLines(@"C:\Users\philipp\Downloads\csv\201503hourly.txt", Encoding.ASCII) .AsParallel() .Where(line => !string.IsNullOrWhiteSpace(line)) .Select(line => line.Trim().Split(new[] { ';' })).ToList(); }); }
public void LocalWeatherReadTest() { bool[] keepOrder = new bool[] { true, false }; int[] degreeOfParallelismList = new[] { 4, 3, 2, 1 }; foreach (var order in keepOrder) { foreach (var degreeOfParallelism in degreeOfParallelismList) { CsvParserOptions csvParserOptions = new CsvParserOptions(true, new[] { ',' }, degreeOfParallelism, order); LocalWeatherDataMapper csvMapper = new LocalWeatherDataMapper(); CsvParser <LocalWeatherData> csvParser = new CsvParser <LocalWeatherData>(csvParserOptions, csvMapper); MeasurementUtils.MeasureElapsedTime(string.Format("LocalWeather (DegreeOfParallelism = {0}, KeepOrder = {1})", degreeOfParallelism, order), () => { var a = csvParser .ReadFromFile(@"C:\Users\philipp\Downloads\csv\201503hourly.txt", Encoding.ASCII) .ToList(); }); } } }
public void DegreeOfParallelismTest() { int csvDataLines = 1000000; int[] degreeOfParallelismList = new[] { 1, 2, 4 }; StringBuilder stringBuilder = new StringBuilder(); for (int i = 0; i < csvDataLines; i++) { stringBuilder.AppendLine("Philipp;Wagner;1986/05/12"); } var csvData = stringBuilder.ToString(); foreach (var degreeOfParallelism in degreeOfParallelismList) { CsvParserOptions csvParserOptions = new CsvParserOptions(true, new[] { ';' }, degreeOfParallelism, true); CsvReaderOptions csvReaderOptions = new CsvReaderOptions(new[] { Environment.NewLine }); CsvPersonMapping csvMapper = new CsvPersonMapping(); CsvParser <Person> csvParser = new CsvParser <Person>(csvParserOptions, csvMapper); MeasurementUtils.MeasureElapsedTime(string.Format("DegreeOfParallelismTest (DegreeOfParallelism = {0})", degreeOfParallelism), () => csvParser.ReadFromString(csvReaderOptions, csvData).ToList()); } }