clixon/test/test_perf_xml.sh
Olof hagsand 94cf4a88b3 * Optimizations
* Reduced memory for attribute and body objects, see `XML_NEW_DIFFERENTIATE` compile-time option.
  * Optimized cbuf handling in parsing and xml2cbuf functions.
  * Optimized xml scanner to read strings rather than single chars
  * Optimized xml_merge for the case of disjunct trees.
2020-04-28 22:31:58 +02:00

32 lines
951 B
Bash
Executable file

#!/usr/bin/env bash
# Test: XML performance test (CDATA test only)
# See https://github.com/clicon/clixon/issues/96
# Magic line must be first in script (see README.md)
s="$_" ; . ./lib.sh || if [ "$s" = $0 ]; then exit 0; else return 0; fi
: ${clixon_util_xml:="clixon_util_xml"}
# Number of list/leaf-list entries in file
: ${perfnr:=30000}
fxml=$dir/long.xml
new "generate long file $fxml"
echo -n "<rpc-reply><stdout><![CDATA[" > $fxml
for (( i=0; i<$perfnr; i++ )); do
echo "*>i10.0.0.$i/32 10.255.0.20 0 100 0 i" >> $fxml
done
echo "]]></stdout></rpc-reply>" >> $fxml
# 32-bit i386:
#0.37user 1.94system 0:02.47elapsed 93%CPU (0avgtext+0avgdata 9336maxresident)k
#256inputs+0outputs (2major+2049minor)pagefaults 0swa
new "xml parse long CDATA"
expecteof_file "time -p $clixon_util_xml" 0 "$fxml" 2>&1 | awk '/real/ {print $2}'
rm -rf $dir
# unset conditional parameters
unset clixon_util_xml
unset perfnr