ログ ファイルを処理するアプリケーションを作成しましたが、ファイルの量が ~20 の場合にボトルネックが発生します。
この問題は、大まかに完了するのに平均で 1 秒ほどかかる特定の方法に起因します。想像できるように、50 回以上実行する必要がある場合、これは実用的ではありません。
private String getIdFromLine(String line){
String[] values = line.split("\t");
String newLine = substringBetween(values[4], "Some String : ", "Value=");
String[] split = newLine.split(" ");
return split[1].substring(4, split[1].length());
}
private String substringBetween(String str, String open, String close) {
if (str == null || open == null || close == null) {
return null;
}
int start = str.indexOf(open);
if (start != -1) {
int end = str.indexOf(close, start + open.length());
if (end != -1) {
return str.substring(start + open.length(), end);
}
}
return null;
}
行は非常に効率的なファイルの読み取りから発生するため、誰かが尋ねない限り、そのコードを投稿する必要はありません。
とにかくこれのパフォーマンスを改善する方法はありますか?
御時間ありがとうございます