cnt=9
out="result.csv"
prgs=(grep pt hw ambs rg)
opt_grep="--binary-files=without-match --color=auto -r"
opt_ack="--nogroup"
opt_ag="--nogroup"
opt_pt="--nogroup"
opt_hw="--no-group"
opt_sift=""
opt_ambs="--no-parent-ignore"
opt_rg="-N --no-heading"
echo -n "" > $out
for p in $prgs; do
eval `echo "$p --version >> $out"`
done
dir_info() {
echo $1 >> $out
du -sh $1 >> $out
find $1 -type f | wc -l >> $out
}
time_avg() {
eval `echo "( TIME=%e /usr/bin/time grep -r $2 $3 | wc -l ) >> $out"`;
for p in $prgs; do
echo -n "" > tmp
opt=`eval echo '$opt_'$p`;
eval `echo "( TIME=%e /usr/bin/time $p $opt $2 $3 )"`;
for i in {0..$cnt}; do
eval `echo "( TIME=%e /usr/bin/time $p $opt $2 $3 ) 2>> tmp"`;
done;
echo -n $1,$p, >> $out
awk '{sum+=$1}END{print sum/NR}' tmp >> $out
done
}
dir_info "./data/linux"
dir_info "./data/linux_build"
dir_info "./data/jawiki-latest-pages-articles.xml"
time_avg "many files / many hits" "EXPORT_SYMBOL_GPL" "./data/linux"
time_avg "many files / few hits" "irq_bypass_register_producer" "./data/linux"
time_avg "many files / many hits with binary" "EXPORT_SYMBOL_GPL" "./data/linux_build"
time_avg "many files / few hits with binary" "irq_bypass_register_producer" "./data/linux_build"
time_avg "a large file / many hits" "検索結果" "./data/jawiki-latest-pages-articles.xml"
time_avg "a large file / few hits" "\"Quick Search\"" "./data/jawiki-latest-pages-articles.xml"