Commit 0ff53e91 authored by Pietro Abate's avatar Pietro Abate
Browse files

[r2003-04-03 16:19:57 by cvscast] Empty log message

Original author: cvscast
Date: 2003-04-03 16:19:58+00:00
parent 3e408781
......@@ -233,7 +233,8 @@ let trivially_disjoint a b =
(BoolPair.trivially_disjoint a.times b.times) &&
(BoolPair.trivially_disjoint a.xml b.xml) &&
(BoolPair.trivially_disjoint a.arrow b.arrow) &&
(BoolRec.trivially_disjoint a.record b.record)
(BoolRec.trivially_disjoint a.record b.record) &&
(not (a.absent && b.absent))
module Descr =
......@@ -1129,7 +1130,7 @@ let get x = try sample_rec Assumptions.empty x with Not_found -> Other
| Char c -> Chars.print_v ppf c
| Pair (x1,x2) -> Format.fprintf ppf "(%a,%a)" print x1 print x2
| Xml (Atom tag, Pair (attr, child)) ->
Format.fprintf ppf "<%s>%a" (Atoms.value tag) (*print attr*) print child
Format.fprintf ppf "<%s %a>%a" (Atoms.value tag) print attr print child
| Xml (x1,x2) -> Format.fprintf ppf "XML(%a,%a)" print x1 print x2
| Record (o,r) ->
Format.fprintf ppf "{ %a%s }"
......@@ -53,19 +53,50 @@ The benchmarks were performed on a Linux box, Athlon 750, 128 Mb RAM.
<th>CDuce</th> </tr>
<tr align="right"> <th>Type-checking</th>
<td>0.04</td> <td>0.05</td> <td>0.15</td> <td>0.05</td> </tr>
<td>0.04</td> <td>0.05</td> <td>0.15</td> <td>0.04</td> </tr>
<tr align="right"> <th>Small file (60 Ko)</th>
<td>1.56</td> <td>0.14</td> <td>9.6</td> <td>0.09</td> </tr>
<tr align="right"> <th>Medium file (600 Ko)</th>
<td>260</td> <td>1.16</td> <td>*</td> <td>0.46</td> </tr>
<tr align ="right"> <th>Large file (6 Mb)</th>
<td>*</td> <td>31.05</td> <td>*</td> <td>6.13</td> </tr>
<td>*</td> <td>31.05</td> <td>*</td> <td>6.37</td> </tr>
The * corresponds to checks stopped after ten minutes.
<box title="CDuce vs. XSLT" link="xslt">
We also performed benchmarks between CDuce and a fast XSLT processor (the
{\tt xsltproc} program from <a href="">
Gnome libxslt library</a>).
<a href="bench/">CDuce source</a> -
<a href="bench/addrbook.xslt1.xml">XSLT source</a> -
<a href="bench/addrbook.xslt2.xml">XSLT source (another version)</a> -
<a href="bench/">OCaml file</a> (to generate random documents).
<table border="1">
<tr> <td>sort</td>
<th>XSLT (1)</th>
<th>XSLT (2)</th>
<th>CDuce</th> </tr>
<tr align="right"> <th>5 Mb</th>
<td>8.90 / 9.05</td> <td>8.05 / 8.26</td> <td>5.30 / 5.40</td> </tr>
<tr align="right"> <th>27 Mb</th>
<td>47.10 / 320.80</td> <td>68.40 / 324.50</td> <td>33.85 / 83.65</td> </tr>
The two numbers correspond respectively to total CPU user time
(parsing + transformation), and total wall-clock time (parsing + transformation
+ system time).
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment