root / trunk / bench / parser1.html

Revision 3683, 1.6 kB (checked in by bill, 3 years ago)

very simple benchmark test for the xml parser

Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
2        "http://www.w3.org/TR/html4/strict.dtd">
3
4<title>Parser benchmark</title>
5
6<script type="text/javascript">
7        var djConfig = {
8                isDebug: false
9        };
10</script>
11<script type="text/javascript" src="../dojo.js"></script>
12<script language="JavaScript" type="text/javascript">
13        dojo.require("dojo.xml.Parse");
14</script>
15
16<style type="text/css">
17
18tbody th { text-align: right; font-weight: normal; }
19th, td { padding: 0 0.4em; }
20
21</style>
22
23<script type="text/javascript">
24
25function bench () {
26        var div = document.createElement("div");
27        var span = "<span><" + "/span>";
28        // order 2^n, so 2^20 = 1 048 576
29        for (var i = 0; i < 11; i++) { span += span; }
30        div.innerHTML = span;
31
32        // first hit all the elements to turn them into JS objects for a fair test
33        var el, i = 0, els = div.childNodes;
34        while (el = els[i++]) { }
35
36        // test just looping, searching for domnodes
37        tic();
38        var parser = new dojo.xml.Parse();
39        var frag = parser.parseElement(div, null, true);
40        toc("calling parseElement() on a flat array (no dojoType declarations)");
41}
42
43function tic () {
44        tic.time = new Date();
45}
46
47function toc (str) {
48        var time = new Date().getTime() - tic.time.getTime();
49        var p = document.createElement("p");
50        p.appendChild(document.createTextNode(time + " - " + str));
51        document.body.appendChild(p);
52}
53
54</script>
55
56<h1>XML Parser Benchmark</h1>
57
58<p><a href="javascript:bench()">Run benchmarks</a>
59
60<h2>Results</h2>
61
62<p>The results should not be compared between browsers for they are run on different systems, however results for the same browser are relative to each other.
Note: See TracBrowser for help on using the browser.