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();
                    });
                }
            }
        }
예제 #3
0
        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());
            }
        }