HTML ストリッパー (Java で記述) のパフォーマンス テストを行っています。つまり、文字列 (実際には HTML コンテンツ) を HTML ストリッパーのメソッドに渡し、後者はプレーン テキスト (HTML タグとメタ情報なし) を返します。 )。
具体的な実装例はこちら
public void performanceTest() throws IOException {
long totalTime;
File file = new File("/directory/to/ten/different/htmlFiles");
for (int i = 0; i < 200; ++i) {
for (File fileEntry : file.listFiles()) {
HtmlStripper stripper = new HtmlStripper();
URL url = fileEntry.toURI().toURL();
InputStream inputStream = url.openStream();
String html = IOUtils.toString(inputStream, "UTF-8");
long start = System.currentTimeMillis();
String text = stripper.getText(html);
long end = System.currentTimeMillis();
totalTime = totalTime + (end - start);
//The duration for the stripping of each file is computed here
// (200 times for each time). That duration value decreases and then becomes constant
//IMHO if the duration for the same file should always remain the same.
//Or is a cache technique used by the JVM?
System.out.println("time needed for stripping current file: "+ (end -start));
}
}
System.out.println("Average time for one document: "
+ (totalTime / 2000));
}
ただし、各ファイルのストリッピングの期間は、毎回 200 回計算され、減少する値は異なります。1 つの同じファイル X の期間が常に同じままである必要がある場合、IMHO!? それとも、JVM で使用されるキャッシュ技術ですか?
どんな助けでも大歓迎です。前もって感謝します
ホレス
注意: - 私は自分のマシンでローカル (リモート、http なし) でテストを行っています。- Ubuntu 10.04 で Java 6 を使用しています