Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(620)

Side by Side Diff: third_party/WebKit/PerformanceTests/HTMLToDOM/html-benchmark.html

Issue 2189533004: Add blink_perf.html_to_dom benchmark. Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Changes to the original benchmark Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 <!DOCTYPE html>
2
3 <script src="../resources/runner.js"></script>
4 <script src="dom/bindings/realdomparserbindings.js"></script>
5 <script src="dom/bindings/fakedomparserbindings.js"></script>
6 <script src="dom/domparser.js"></script>
7
8 <script>
9 var multipler = 1;
10
11 var output = document.getElementById("output");
12
13 var xhr = new XMLHttpRequest();
14 xhr.open("GET", "wikipedia-markup.txt");
15 xhr.responseType = "text";
16
17 function treeSize(node) {
18 var count = 0;
19 for (var child = node.firstChild; child; child = child.nextSibling)
20 count += 1 + treeSize(child);
21 return count;
22 }
23
24 function benchmarkParser(name, callback) {
25 var startTime = PerfTestRunner.now();
26 var fragment = callback();
27 var time = PerfTestRunner.now() - startTime;
28 PerfTestRunner.logValues(name, [time], "ms");
29 PerfTestRunner.log("nodes " + name + " " + treeSize(fragment));
30 }
31
32 PerfTestRunner.startSingleRunBenchmark(
33 "This benchmark parses subset of HTML and adds parsed data to DOM. " +
34 "See http://crbug.com/595492 for more information.");
35
36
37 xhr.onload = function() {
38 var markup = "";
39 for (var i = 0; i < multipler; i++)
40 markup += xhr.responseText;
41
42
43 benchmarkParser("innerHTML", function() {
44 element = document.createElement("template");
45 element.innerHTML = markup;
46 return element.content;
47 });
48
49 benchmarkParser("real-bindings", function() {
50 var parser = new DomParser(markup, RealDomParserBindings);
51 return parser.parse();
52 });
53
54 benchmarkParser("fake-bindings", function() {
55 var parser = new DomParser(markup, FakeDomParserBindings);
56 return parser.parse();
57 });
58
59 PerfTestRunner.finishSingleRunBenchmark();
60 };
61
62 xhr.onerror = function() {
63 console.log(xhr.status);
64 };
65
66 xhr.send();
67 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698