1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package org.htmlunit.html.performance;
16
17 import java.io.IOException;
18 import java.net.URL;
19
20 import org.htmlunit.BrowserVersion;
21 import org.htmlunit.WebClient;
22
23
24
25
26
27
28 public final class HugePagePerformanceTest {
29
30 private HugePagePerformanceTest() {
31 }
32
33
34
35
36
37
38 public static void main(final String[] args) throws IOException {
39
40
41 final URL benchmarkFileURL = WebClient.class.getClassLoader()
42 .getResource("testfiles/huge-pages/benchmark.html");
43 final URL htmlStandardfileURL = WebClient.class.getClassLoader()
44 .getResource("testfiles/huge-pages/html-standard-2024-10-17.html");
45 final URL wikipediaURL = WebClient.class.getClassLoader()
46 .getResource("testfiles/huge-pages/wikipedia.html");
47
48 try (WebClient webClient = new WebClient(BrowserVersion.CHROME, false, null, -1)) {
49 webClient.getOptions().setThrowExceptionOnFailingStatusCode(false);
50 webClient.getOptions().setJavaScriptEnabled(false);
51 webClient.getOptions().setCssEnabled(false);
52 webClient.getOptions().setHistoryPageCacheLimit(0);
53 webClient.getOptions().setHistorySizeLimit(0);
54 webClient.getOptions().setWebSocketEnabled(false);
55 webClient.setFrameContentHandler(baseFrameElement -> false);
56
57 final long start = System.currentTimeMillis();
58
59
60
61
62
63 for (int i = 0; i < 40; i++) {
64 webClient.getPage(htmlStandardfileURL);
65 }
66
67
68
69
70
71 System.out.println("## " + (System.currentTimeMillis() - start));
72 }
73 }
74 }