Я работаю над проектом, который использует парсер uniVocity CSV для чтения InputStream
, содержащего данные CSV. В целом парсер CSV работает отлично, однако есть одна строка, которая кажется медленной.
Когда я вызываю метод beginParsing()
, кажется, что на выполнение этого метода в моем модульном тесте уходит почти 4 секунды. . Есть ли способ ускорить это? Спасибо!
this.csvSettings = new CsvParserSettings();
csvSettings.setLineSeparatorDetectionEnabled(true);
RowListProcessor rowProcessor = new RowListProcessor();
csvSettings.setProcessor(rowProcessor);
csvSettings.setMaxCharsPerColumn(ValueVector.MAX_BUFFER_SIZE);
...
this.csvReader = new CsvParser(csvSettings);
logger.debug("Time to open CSV Parser: {} milliseconds", timer.elapsed().getNano() / 100000);
// This line is slow
csvReader.beginParsing(searchResults, "utf-8");
logger.debug("Time to open input stream: {} milliseconds", timer.elapsed().getNano() / 100000);
Вот результаты:
19:35:23.475 [2112b444-e4af-cf7b-5006-7a79bbdae8dc:frag:0:0] DEBUG - Time to open CSV Parser: 262 milliseconds
19:35:24.912 [2112b444-e4af-cf7b-5006-7a79bbdae8dc:frag:0:0] DEBUG - Time to open input stream: 4634 milliseconds
19:35:24.921 [2112b444-e4af-cf7b-5006-7a79bbdae8dc:frag:0:0] DEBUG - Time to build schmea: 4727 milliseconds