Commit c7544571 authored by Anthony LICK's avatar Anthony LICK

Add XPath 3.0 std results to full table

parent 76bb3edc
#!/bin/bash #!/bin/bash
fragment='xpath-2.0-core-join.rnc' fragment='xpath-2.0-core-join.rnc'
std='xpath-3.0-std.rnc'
xslt=`grep 'xslt' benchmarks-all-full.xml | sed -e 's/.*href="\([^"]*\).*/\1/'` xslt=`grep 'xslt' benchmarks-all-full.xml | sed -e 's/.*href="\([^"]*\).*/\1/'`
xquery=`grep 'xquery' benchmarks-all-full.xml | sed -e 's/.*href="\([^"]*\).*/\1/'` xquery=`grep 'xquery' benchmarks-all-full.xml | sed -e 's/.*href="\([^"]*\).*/\1/'`
printf '\\begin{tabular}{lrrrrr}\n' printf '\\begin{tabular}{lrrrrrr}\n'
printf '\\toprule\n' printf '\\toprule\n'
printf 'Source & queries & XPath\\,1.0 & XPath\\,2.0 & XPath\,3.0 & \\textsf{CoreXPath~2.0}\\\\\n' printf 'Source & queries & XPath\\,1.0 & XPath\\,2.0 & XPath\,3.0 & XPath\,3.0\,std & \\textsf{Core~2.0}\\\\\n'
printf ' & & & & & extended\\\\\n' printf ' & & & & & & extended\\\\\n'
printf '\\midrule\n' printf '\\midrule\n'
# XSLT files # XSLT files
...@@ -27,6 +28,9 @@ do ...@@ -27,6 +28,9 @@ do
percent=`echo "scale=1; 100*$count/$n" | bc` percent=`echo "scale=1; 100*$count/$n" | bc`
printf "& $percent\\\\%% " printf "& $percent\\\\%% "
done done
count=`xmlstarlet sel -N xqx="http://www.w3.org/2005/XQueryX" -t -c "count(//xpath[schemas/validation[@schema=\"$std\" and @valid=\"yes\"]])" $file`
percent=`echo "scale=1; 100*$count/$n" | bc`
printf "& $percent\\\\%% "
count=`xmlstarlet sel -N xqx="http://www.w3.org/2005/XQueryX" -t -c "count(//xpath[schemas/validation[@schema=\"$fragment\" and @valid=\"yes\"]])" $file` count=`xmlstarlet sel -N xqx="http://www.w3.org/2005/XQueryX" -t -c "count(//xpath[schemas/validation[@schema=\"$fragment\" and @valid=\"yes\"]])" $file`
percent=`echo "scale=1; 100*$count/$n" | bc` percent=`echo "scale=1; 100*$count/$n" | bc`
printf "& $percent\\\\%% " printf "& $percent\\\\%% "
...@@ -52,15 +56,26 @@ do ...@@ -52,15 +56,26 @@ do
percent=`echo "scale=1; 100*$count/$n" | bc` percent=`echo "scale=1; 100*$count/$n" | bc`
printf "& $percent\\\\%% " printf "& $percent\\\\%% "
done done
# std
count=0 count=0
for file in $xslt for file in $xslt
do do
c=`xmlstarlet sel -N xqx="http://www.w3.org/2005/XQueryX" -t -c "count(//xpath[schemas/validation[@schema=\"$fragment\" and @valid=\"yes\"]])" $file` c=`xmlstarlet sel -N xqx="http://www.w3.org/2005/XQueryX" -t -c "count(//xpath[schemas/validation[@schema=\"$std\" and @valid=\"yes\"]])" $file`
count=$((count+c)) count=$((count+c))
done done
counts[4]=$count counts[4]=$count
percent=`echo "scale=1; 100*$count/$n" | bc` percent=`echo "scale=1; 100*$count/$n" | bc`
printf "& $percent\\\\%% " printf "& $percent\\\\%% "
# Core 2.0
count=0
for file in $xslt
do
c=`xmlstarlet sel -N xqx="http://www.w3.org/2005/XQueryX" -t -c "count(//xpath[schemas/validation[@schema=\"$fragment\" and @valid=\"yes\"]])" $file`
count=$((count+c))
done
counts[5]=$count
percent=`echo "scale=1; 100*$count/$n" | bc`
printf "& $percent\\\\%% "
printf '\\\\\n' printf '\\\\\n'
printf '\\midrule\n' printf '\\midrule\n'
...@@ -82,6 +97,9 @@ do ...@@ -82,6 +97,9 @@ do
percent=`echo "scale=1; 100*$count/$n" | bc` percent=`echo "scale=1; 100*$count/$n" | bc`
printf "& $percent\\\\%% " printf "& $percent\\\\%% "
done done
count=`xmlstarlet sel -N xqx="http://www.w3.org/2005/XQueryX" -t -c "count(//xpath[schemas/validation[@schema=\"$std\" and @valid=\"yes\"]])" $file`
percent=`echo "scale=1; 100*$count/$n" | bc`
printf "& $percent\\\\%% "
count=`xmlstarlet sel -N xqx="http://www.w3.org/2005/XQueryX" -t -c "count(//xpath[schemas/validation[@schema=\"$fragment\" and @valid=\"yes\"]])" $file` count=`xmlstarlet sel -N xqx="http://www.w3.org/2005/XQueryX" -t -c "count(//xpath[schemas/validation[@schema=\"$fragment\" and @valid=\"yes\"]])" $file`
percent=`echo "scale=1; 100*$count/$n" | bc` percent=`echo "scale=1; 100*$count/$n" | bc`
printf "& $percent\\\\%% " printf "& $percent\\\\%% "
...@@ -107,22 +125,33 @@ do ...@@ -107,22 +125,33 @@ do
percent=`echo "scale=1; 100*$count/$n" | bc` percent=`echo "scale=1; 100*$count/$n" | bc`
printf "& $percent\\\\%% " printf "& $percent\\\\%% "
done done
count=0 count=0
for file in $xquery # std
do for file in $xquery
do
c=`xmlstarlet sel -N xqx="http://www.w3.org/2005/XQueryX" -t -c "count(//xpath[schemas/validation[@schema=\"$std\" and @valid=\"yes\"]])" $file`
count=$((count+c))
done
counts[4]=$((count + counts[4]))
percent=`echo "scale=1; 100*$count/$n" | bc`
printf "& $percent\\\\%% "
# Core 2.0
count=0
for file in $xquery
do
c=`xmlstarlet sel -N xqx="http://www.w3.org/2005/XQueryX" -t -c "count(//xpath[schemas/validation[@schema=\"$fragment\" and @valid=\"yes\"]])" $file` c=`xmlstarlet sel -N xqx="http://www.w3.org/2005/XQueryX" -t -c "count(//xpath[schemas/validation[@schema=\"$fragment\" and @valid=\"yes\"]])" $file`
count=$((count+c)) count=$((count+c))
done done
counts[4]=$((count + counts[i])) counts[5]=$((count + counts[5]))
percent=`echo "scale=1; 100*$count/$n" | bc` percent=`echo "scale=1; 100*$count/$n" | bc`
printf "& $percent\\\\%% " printf "& $percent\\\\%% "
printf '\\\\\n' printf '\\\\\n'
N=$((N + n)) N=$((N + n))
printf '\\midrule\n' printf '\\midrule\n'
printf 'Total ' printf 'Total '
printf "& %'.0f " $N printf "& %'.0f " $N
for ((i=1; i < 5; ++i)) for ((i=1; i < 6; ++i))
do do
count=${counts[i]} count=${counts[i]}
percent=`echo "scale=1; 100*$count/$N" | bc` percent=`echo "scale=1; 100*$count/$N" | bc`
...@@ -132,23 +161,3 @@ printf '\\\\\n' ...@@ -132,23 +161,3 @@ printf '\\\\\n'
printf '\\bottomrule\n' printf '\\bottomrule\n'
printf '\\end{tabular}\n' printf '\\end{tabular}\n'
# \begin{tabular}{lrrrr}
# \toprule
# Source & \!\!queries & \!\!XPath\,1.0 & \!\!XPath\,2.0 & \!\!XPath\,3.0\\
# % \midrule
# % W3C QT & 207 & 132 & 138 & 207\\
# % XPathMark & 38 & 38 & 38 & 38\\
# \midrule
# DocBook & 7,620 & 7,620 & 7,620 & 7,620 \\
# HTMLBook & 752 & 752 & 752 & 752 \\
# eXist-db & 1,236 & 955 & 1,105 & 1,236 \\
# HisTEI & 483 & 361 & 471 & 483 \\
# MarkLogic & 196 & 139 & 184 & 191 \\
# XQJSON & 90 & 67 & 90 & 90 \\
# \midrule
# Total & 10,377 & 9,894 & 10,222 & 10,372\\
# & & (95\%) & (98\%) & (100\%)\\
# \bottomrule
# \end{tabular}
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