amber 0.3.0

A code search and replace tool
Documentation
#!/bin/zsh

cnt=10
out="result.txt"

#prgs=(grep ack ag pt hw sift ambs)
prgs=(grep ag pt hw sift ambs)

time="TIME=%e /usr/bin/time"

opt_grep="--binary-files=without-match --color=auto -r"
opt_ack="--nogroup"
opt_ag="--nogroup"
opt_pt="--nogroup"
opt_hw="--no-group"
opt_sift="--err-skip-line-length"
opt_ambs="--no-parent-ignore"

echo "" > $out

for p in $prgs; do
    eval `echo "$p --version >> $out"`
done

echo "bench,prg,user time[s],sys time[s],total time[s],cpu usage[%],mem usage[kB],major page fault,minor page fault,wait,in,out" >> $out

name="many files and many matches"
for p in $prgs; do
    for i in {0..$cnt}; do
        opt=`eval echo '$opt_'$p`;
        echo -n $name,$p, >> $out
        eval `echo "( $time $p $opt i686 ./data/llvm ) 2>> $out"`;
    done;
done

name="many files and few matches"
for p in $prgs; do
    for i in {0..$cnt}; do
        opt=`eval echo '$opt_'$p`;
        echo -n $name,$p, >> $out
        eval `echo "( $time $p $opt arm_neon_sha1 ./data/llvm ) 2>> $out"`;
    done;
done

name="many files and many matches with binary"
for p in $prgs; do
    for i in {0..$cnt}; do
        opt=`eval echo '$opt_'$p`;
        echo -n $name,$p, >> $out
        eval `echo "( $time $p $opt i686 ./data/llvm_build ) 2>> $out"`;
    done;
done

name="many files and few matches with binary"
for p in $prgs; do
    for i in {0..$cnt}; do
        opt=`eval echo '$opt_'$p`;
        echo -n $name,$p, >> $out
        eval `echo "( $time $p $opt arm_neon_sha1 ./data/llvm_build ) 2>> $out"`;
    done;
done

name="large file and few matches"
for p in $prgs; do
    for i in {0..$cnt}; do
        opt=`eval echo '$opt_'$p`;
        echo -n $name,$p, >> $out
        eval `echo "( $time $p $opt 検索結果 ./data/jawiki-latest-abstract1.xml ) 2>> $out"`;
    done;
done