Есть лог файл в текстовом формате, весом 4gb. Структура файла - это N строк весом примерно 200 байт.
Необходимо получать строки (добавлять их в массив), в которых есть ключевое слово.
Очень важна скорость получения информации.
На данный момент реализовано следующим образом:
public List
Подскажите, есть ли возможность сделать производительней (быстрей) данный участок кода?
Ответ
Строка
if (tmp.matches(".*"+ filter +".*")) {
вызываемая в цикле, это уникальнейший провал производительности
На каждой итерации цикла конструируется новая строка
Используется регулярное выражение вместо простого поиска по тексту
Замените эту строку на
if (tmp.contains(filter)) {
Комментариев нет:
Отправить комментарий