Skip to content

Commit d5307ee

Browse files
committed
Benchmarks: use the dot as a decimal separator.
1 parent 3957c2d commit d5307ee

File tree

2 files changed

+38
-38
lines changed

2 files changed

+38
-38
lines changed

dom-mark.html

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,9 @@ <h2>Build HTML documents</h2>
5959
<p>Numeric results (higher is better):</p>
6060
<table class="normaltbl">
6161
<tr><th>Implementation</th><th>Score</th><th>Error</th><th>Unit</th></tr>
62-
<tr><td>Css4j-DOM4J</td><td class="number">335,609</td><td class="number">±9,416</td><td>ops/s</td></tr>
63-
<tr><td>Css4j DOM</td><td class="number">328,637</td><td class="number">±1,920</td><td>ops/s</td></tr>
64-
<tr><td>JDK</td><td class="number">333,742</td><td class="number">±3,079</td><td>ops/s</td></tr>
62+
<tr><td>Css4j-DOM4J</td><td class="number">335.609</td><td class="number">±9.416</td><td>ops/s</td></tr>
63+
<tr><td>Css4j DOM</td><td class="number">328.637</td><td class="number">±1.920</td><td>ops/s</td></tr>
64+
<tr><td>JDK</td><td class="number">333.742</td><td class="number">±3.079</td><td>ops/s</td></tr>
6565
</table>
6666
<p>If one looks at the error figures, the three implementations are somewhat even in this test. Plain DOM4J is not included in the benchmark,
6767
as it cannot be used with <code>HtmlDocumentBuilder</code>.</p>
@@ -73,11 +73,11 @@ <h2>Build small XML documents</h2>
7373
<p>Numeric results (higher is better):</p>
7474
<table class="normaltbl">
7575
<tr><th>Implementation</th><th>Score</th><th>Error</th><th>Unit</th></tr>
76-
<tr><td>Css4j-DOM4J</td><td class="number">505,418</td><td class="number">±20,569</td><td>ops/s</td></tr>
77-
<tr><td>Css4j DOM</td><td class="number">486,341</td><td class="number">±5,949</td><td>ops/s</td></tr>
78-
<tr><td>DOM4J</td><td class="number">547,620</td><td class="number">±12,901</td><td>ops/s</td></tr>
79-
<tr><td>JDK (XMLDocumentBuilder)</td><td class="number">530,703</td><td class="number">±7,089</td><td>ops/s</td></tr>
80-
<tr><td>JDK</td><td class="number">542,871</td><td class="number">±12,360</td><td>ops/s</td></tr>
76+
<tr><td>Css4j-DOM4J</td><td class="number">505.418</td><td class="number">±20.569</td><td>ops/s</td></tr>
77+
<tr><td>Css4j DOM</td><td class="number">486.341</td><td class="number">±5.949</td><td>ops/s</td></tr>
78+
<tr><td>DOM4J</td><td class="number">547.620</td><td class="number">±12.901</td><td>ops/s</td></tr>
79+
<tr><td>JDK (XMLDocumentBuilder)</td><td class="number">530.703</td><td class="number">±7.089</td><td>ops/s</td></tr>
80+
<tr><td>JDK</td><td class="number">542.871</td><td class="number">±12.360</td><td>ops/s</td></tr>
8181
</table>
8282
</div>
8383
<div class="tema" id="xml-build">
@@ -87,11 +87,11 @@ <h2>Build XML documents</h2>
8787
<p>Numeric results (higher is better):</p>
8888
<table class="normaltbl">
8989
<tr><th>Implementation</th><th>Score</th><th>Error</th><th>Unit</th></tr>
90-
<tr><td>Css4j-DOM4J</td><td class="number">90,796</td><td class="number">±1,193</td><td>ops/s</td></tr>
91-
<tr><td>Css4j DOM</td><td class="number">85,990</td><td class="number">±0,764</td><td>ops/s</td></tr>
92-
<tr><td>DOM4J</td><td class="number">113,444</td><td class="number">±0,504</td><td>ops/s</td></tr>
93-
<tr><td>JDK (XMLDocumentBuilder)</td><td class="number">91,828</td><td class="number">±1,119</td><td>ops/s</td></tr>
94-
<tr><td>JDK</td><td class="number">120,095</td><td class="number">±0,846</td><td>ops/s</td></tr>
90+
<tr><td>Css4j-DOM4J</td><td class="number">90.796</td><td class="number">±1.193</td><td>ops/s</td></tr>
91+
<tr><td>Css4j DOM</td><td class="number">85.990</td><td class="number">±0.764</td><td>ops/s</td></tr>
92+
<tr><td>DOM4J</td><td class="number">113.444</td><td class="number">±0.504</td><td>ops/s</td></tr>
93+
<tr><td>JDK (XMLDocumentBuilder)</td><td class="number">91.828</td><td class="number">±1.119</td><td>ops/s</td></tr>
94+
<tr><td>JDK</td><td class="number">120.095</td><td class="number">±0.846</td><td>ops/s</td></tr>
9595
</table>
9696
</div>
9797
<div class="tema" id="traverse-next">
@@ -101,9 +101,9 @@ <h2>DOM traversal: <code>getFirstChild()/getNextSibling()</code></h2>
101101
<p>Numeric results (higher is better):</p>
102102
<table class="normaltbl">
103103
<tr><th>Implementation</th><th>Score</th><th>Error</th><th>Unit</th></tr>
104-
<tr><td>Css4j-DOM4J</td><td class="number">238,888</td><td class="number">±14,212</td><td>ops/s</td></tr>
105-
<tr><td>Css4j DOM</td><td class="number">3098,809</td><td class="number">±48,866</td><td>ops/s</td></tr>
106-
<tr><td>JDK</td><td class="number">6193,611</td><td class="number">±44,107</td><td>ops/s</td></tr>
104+
<tr><td>Css4j-DOM4J</td><td class="number">238.888</td><td class="number">±14.212</td><td>ops/s</td></tr>
105+
<tr><td>Css4j DOM</td><td class="number">3098.809</td><td class="number">±48.866</td><td>ops/s</td></tr>
106+
<tr><td>JDK</td><td class="number">6193.611</td><td class="number">±44.107</td><td>ops/s</td></tr>
107107
</table>
108108
<p><em>Note:</em> for unknown reasons, the usual procedure to build the JDK document with a <code>DocumentBuilderFactory</code> could not be used to initialize the document
109109
traversed in the benchmark, as that document is somehow left in an inconsistent state with no child nodes; this happened with the initialization code being executed in a
@@ -118,9 +118,9 @@ <h2>DOM traversal: <code>getLastChild()/getPreviousSibling()</code></h2>
118118
<p>Numeric results (higher is better):</p>
119119
<table class="normaltbl">
120120
<tr><th>Implementation</th><th>Score</th><th>Error</th><th>Unit</th></tr>
121-
<tr><td>Css4j-DOM4J</td><td class="number">208,244</td><td class="number">±48,552</td><td>ops/s</td></tr>
122-
<tr><td>Css4j DOM</td><td class="number">2951,919</td><td class="number">±241,858</td><td>ops/s</td></tr>
123-
<tr><td>JDK</td><td class="number">6717,898</td><td class="number">±92,711</td><td>ops/s</td></tr>
121+
<tr><td>Css4j-DOM4J</td><td class="number">208.244</td><td class="number">±48.552</td><td>ops/s</td></tr>
122+
<tr><td>Css4j DOM</td><td class="number">2951.919</td><td class="number">±241.858</td><td>ops/s</td></tr>
123+
<tr><td>JDK</td><td class="number">6717.898</td><td class="number">±92.711</td><td>ops/s</td></tr>
124124
</table>
125125
<p>The Css4j-DOM4J results are representative for DOM4J as well.</p>
126126
</div>
@@ -131,8 +131,8 @@ <h2>DOM traversal: <code>NodeIterator</code></h2>
131131
<p>Numeric results (higher is better):</p>
132132
<table class="normaltbl">
133133
<tr><th>Implementation</th><th>Score</th><th>Error</th><th>Unit</th></tr>
134-
<tr><td>Css4j DOM</td><td class="number">2241,289</td><td class="number">±47,954</td><td>ops/s</td></tr>
135-
<tr><td>JDK</td><td class="number">4564,023</td><td class="number">±123,393</td><td>ops/s</td></tr>
134+
<tr><td>Css4j DOM</td><td class="number">2241.289</td><td class="number">±47.954</td><td>ops/s</td></tr>
135+
<tr><td>JDK</td><td class="number">4564.023</td><td class="number">±123.393</td><td>ops/s</td></tr>
136136
</table>
137137
<p>DOM4J is not included as it lacks a <code>NodeIterator</code>.</p>
138138
<p><em>Note:</em> sometimes the <code>NodeIterator</code> created by the JDK is in an inconsistent state, and fails with an exception like:</p>
@@ -153,8 +153,8 @@ <h2>DOM traversal: <code>TreeWalker</code></h2>
153153
<p>Numeric results (higher is better):</p>
154154
<table class="normaltbl">
155155
<tr><th>Implementation</th><th>Score</th><th>Error</th><th>Unit</th></tr>
156-
<tr><td>Css4j DOM</td><td class="number">2229,978</td><td class="number">±44,438</td><td>ops/s</td></tr>
157-
<tr><td>JDK</td><td class="number">4662,251</td><td class="number">±95,975</td><td>ops/s</td></tr>
156+
<tr><td>Css4j DOM</td><td class="number">2229.978</td><td class="number">±44.438</td><td>ops/s</td></tr>
157+
<tr><td>JDK</td><td class="number">4662.251</td><td class="number">±95.975</td><td>ops/s</td></tr>
158158
</table>
159159
<p>DOM4J provides no <code>TreeWalker</code>.</p>
160160
</div>
@@ -166,8 +166,8 @@ <h2>DOM traversal: <code>elementIterator()</code></h2>
166166
<p>Numeric results (higher is better):</p>
167167
<table class="normaltbl">
168168
<tr><th>Implementation</th><th>Score</th><th>Error</th><th>Unit</th></tr>
169-
<tr><td>Css4j DOM</td><td class="number">1973,655</td><td class="number">±13,820</td><td>ops/s</td></tr>
170-
<tr><td>DOM4J</td><td class="number">522,078</td><td class="number">±8,523</td><td>ops/s</td></tr>
169+
<tr><td>Css4j DOM</td><td class="number">1973.655</td><td class="number">±13.820</td><td>ops/s</td></tr>
170+
<tr><td>DOM4J</td><td class="number">522.078</td><td class="number">±8.523</td><td>ops/s</td></tr>
171171
</table>
172172
<p>The JDK's DOM provides no element iterator.</p>
173173
</div>
@@ -180,10 +180,10 @@ <h2>DOM traversal: <code>getElementsByTagName()</code></h2>
180180
<p>Numeric results (higher is better):</p>
181181
<table class="normaltbl">
182182
<tr><th>Implementation</th><th>Score</th><th>Error</th><th>Unit</th></tr>
183-
<tr><td>Css4j-DOM4J</td><td class="number">463,847</td><td class="number">±3,358</td><td>ops/s</td></tr>
184-
<tr><td>Css4j DOM</td><td class="number">2,153</td><td class="number">±0,087</td><td>ops/s</td></tr>
185-
<tr><td>Css4j DOM (iterator)</td><td class="number">1532,235</td><td class="number">±59,400</td><td>ops/s</td></tr>
186-
<tr><td>JDK</td><td class="number">2002,057</td><td class="number">±82,689</td><td>ops/s</td></tr>
183+
<tr><td>Css4j-DOM4J</td><td class="number">463.847</td><td class="number">±3.358</td><td>ops/s</td></tr>
184+
<tr><td>Css4j DOM</td><td class="number">2.153</td><td class="number">±0.087</td><td>ops/s</td></tr>
185+
<tr><td>Css4j DOM (iterator)</td><td class="number">1532.235</td><td class="number">±59.400</td><td>ops/s</td></tr>
186+
<tr><td>JDK</td><td class="number">2002.057</td><td class="number">±82.689</td><td>ops/s</td></tr>
187187
</table>
188188
<p><em>Note:</em> the iterator is documented as the recommended way to traverse the <a href="https://css4j.github.io/api/3/io/sf/carte/doc/dom/ElementList.html"><code>ElementList</code></a> in css4j since version 3.2. Css4j versions prior to 3.2 perform much better in this benchmark,
189189
but the implementation was switched to one that is more lightweight (and the iterator performance is good enough).</p>
@@ -196,9 +196,9 @@ <h2>DOM modification: <code>appendChild()/removeChild()</code></h2>
196196
<p>Numeric results (higher is better):</p>
197197
<table class="normaltbl">
198198
<tr><th>Implementation</th><th>Score</th><th>Error</th><th>Unit</th></tr>
199-
<tr><td>Css4j-DOM4J</td><td class="number">115,780</td><td class="number">±1,609</td><td>ops/s</td></tr>
200-
<tr><td>Css4j DOM</td><td class="number">440,383</td><td class="number">±6,933</td><td>ops/s</td></tr>
201-
<tr><td>JDK</td><td class="number">791,273</td><td class="number">±8,898</td><td>ops/s</td></tr>
199+
<tr><td>Css4j-DOM4J</td><td class="number">115.780</td><td class="number">±1.609</td><td>ops/s</td></tr>
200+
<tr><td>Css4j DOM</td><td class="number">440.383</td><td class="number">±6.933</td><td>ops/s</td></tr>
201+
<tr><td>JDK</td><td class="number">791.273</td><td class="number">±8.898</td><td>ops/s</td></tr>
202202
</table>
203203
</div>
204204
<div class="tema" id="analysis">

sac-mark.html

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -53,18 +53,18 @@ <h2>SAC benchmark</h2>
5353
<p>Numeric results (higher is better):</p>
5454
<table class="normaltbl">
5555
<tr><th>Implementation</th><th>Score</th><th>Error</th><th>Unit</th></tr>
56-
<tr><td>Css4j</td><td class="number">213,960</td><td class="number">±7,250</td><td>ops/s</td></tr>
57-
<tr><td>Batik CSS</td><td class="number">371,577</td><td class="number">±2,017</td><td>ops/s</td></tr>
58-
<tr><td>SS CSSParser</td><td class="number">6,705</td><td class="number">±0,057</td><td>ops/s</td></tr>
56+
<tr><td>Css4j</td><td class="number">213.960</td><td class="number">±7.250</td><td>ops/s</td></tr>
57+
<tr><td>Batik CSS</td><td class="number">371.577</td><td class="number">±2.017</td><td>ops/s</td></tr>
58+
<tr><td>SS CSSParser</td><td class="number">6.705</td><td class="number">±0.057</td><td>ops/s</td></tr>
5959
</table></div>
6060
<div class="tema"><h3>Small file (13 kB)</h3>
6161
<img src="benchmark/sac-small.png" alt="SAC benchmark" />
6262
<p>Numeric results (higher is better):</p>
6363
<table class="normaltbl">
6464
<tr><th>Implementation</th><th>Score</th><th>Error</th><th>Unit</th></tr>
65-
<tr><td>Css4j</td><td class="number">3767,204</td><td class="number">±152,243</td><td>ops/s</td></tr>
66-
<tr><td>Batik CSS</td><td class="number">6521,440</td><td class="number">±51,305</td><td>ops/s</td></tr>
67-
<tr><td>SS CSSParser</td><td class="number">146,390</td><td class="number">±1,046</td><td>ops/s</td></tr>
65+
<tr><td>Css4j</td><td class="number">3767.204</td><td class="number">±152.243</td><td>ops/s</td></tr>
66+
<tr><td>Batik CSS</td><td class="number">6521.440</td><td class="number">±51.305</td><td>ops/s</td></tr>
67+
<tr><td>SS CSSParser</td><td class="number">146.390</td><td class="number">±1.046</td><td>ops/s</td></tr>
6868
</table></div>
6969
</div>
7070
<div class="tema" id="analysis">

0 commit comments

Comments
 (0)