public int TinyCsvParserBenchmark()
        {
            var totalLength = 0;

            var csvParserOptions = new CsvParserOptions(false, ValueDelimeterChar, 4, true);
            var csvReaderOptions = new CsvReaderOptions(RecordDelimeterStrings);
            var csvMapper        = new TinyCsvRecordMapping();
            var csvParser        = new CsvParser <Record>(csvParserOptions, csvMapper);

            var results = csvParser.ReadFromString(csvReaderOptions, this.str);

            foreach (var result in results)
            {
                var record = result.Result;
                totalLength += record.Value0.Length;
                totalLength += record.Value1.Length;
                totalLength += record.Value2.Length;
                totalLength += record.Value3.Length;
                totalLength += record.Value4.Length;
                totalLength += record.Value5.Length;
                totalLength += record.Value6.Length;
                totalLength += record.Value7.Length;
                totalLength += record.Value8.Length;
                totalLength += record.Value9.Length;
            }

            return(totalLength);
        }
示例#2
0
        public int DelimiterSeparatedTextParser_WithString()
        {
            var totalLength = 0;
            var parser      = new DelimiterSeparatedTextParser.CsvParser(MemoryFile);

            var numRecords = parser.RecordsLength;

            for (var recordNum = 0; recordNum < numRecords; recordNum++)
            {
                var numValues = parser.GetRecordLength(recordNum);
                for (var valueNum = 0; valueNum < numValues; valueNum++)
                {
                    var value = parser.GetValue(recordNum, valueNum).ToString();
                    totalLength += value.Length;
                }
            }

            return(totalLength);
        }
        public int DelimiterSeparatedTextParser()
        {
            var totalLength = 0;
            var parser      = new CsvParser(this.str);

            var numRecords = parser.RecordsLength;

            for (var recordNum = 0; recordNum < numRecords; recordNum++)
            {
                var numValues = parser.GetRecordLength(recordNum);
                for (var valueNum = 0; valueNum < numValues; valueNum++)
                {
                    var value = parser.GetValue(recordNum, valueNum);
                    totalLength += value.Length;
                }
            }

            return(totalLength);
        }