#/bin/sh # To unbundle, sh this file echo runall 1>&2 sed 's/.//' >runall <<'//GO.SYSIN DD runall' -#!/bin/sh -case $# in -1) SYS=$1;; -esac -case $SYS in -?*) ;; -*) echo "undefined SYS"; exit 1;; -esac -./runset $SYS t fast.fwd.inc fast.rev.d12 lC.fwd.inc lC.fwdg.md2 lc.fwd.inc lc.fwdg.md2 no.fwd.inc no.fwd.sd1 no.rev.d12 sfC.fwd.inc sfc.fwd.inc slfC.fwd.inc slfc.fwd.inc uF.fwd.inc uf.fwd.inc uf.fwd.md2 uf.fwdg.inc uf.fwdg.md2 uf.fwdm.inc uf.fwdmg.inc uf.om.inc uf.om.md2 uf.rev.d1 uf.rev.d12 uf.rev.d2 uf.rev.gd2 uf.rev.inc uf.rev.md2 uf.rev.sd1 uf.rev.sdmd2 uf.revg.inc uf1.fwd.inc uf2.fwd.inc uf3.fwd.inc uf4.fwd.inc uf5.fwd.inc uf6.fwd.inc //GO.SYSIN DD runall # To unbundle, sh this file echo runset 1>&2 sed 's/.//' >runset <<'//GO.SYSIN DD runset' -#!/bin/sh -# run a set of tests -# runset dir sys - -sys=$1; shift -suffix=$1; shift -SYS=$sys; export SYS - -echo `date` starting - -ls -l bible -case $suffix in -s) label=stats;; -*) label=$sys;; -esac - -for i -do - ./mk $i.$suffix - time ./$i.$suffix -s$label -p300 -e1 bible < rand.500 2>&1 -done - -echo `date` done - //GO.SYSIN DD runset # To unbundle, sh this file echo ave.times 1>&2 sed 's/.//' >ave.times <<'//GO.SYSIN DD ave.times' -awk ' -/^sys=/ { - match($2, "alg=[./]*"); alg = substr($2, RSTART+RLENGTH, length($2)-RLENGTH-RSTART-1) - algs[alg]=1 - match($1, "sys="); sys = substr($1, RSTART+4) - if(!sysnames[sys]) nsys++; sysnames[sys] = 1 - if(sys == "stats"){ - stats[sys,alg] = $0 - } else { - e = 0+substr($6, 3) - if((emin[sys,alg] > e) || !emin[sys,alg]) emin[sys,alg] = e - if(emax[sys,alg] < e) emax[sys,alg] = e - etime[sys,alg] += e - eetime[sys,alg] += e*e - ptime[sys,alg] += 0+substr($5, 3) - n[sys,alg]++; - } - } -/^/ { } -END { - for(sys in sysnames) for(a in algs){ - if(stats[sys,a]) print stats[sys,a] - if(n[sys,a]){ - e = etime[sys,a]/n[sys,a] - spr = (emax[sys,a]-emin[sys,a])/e - if(spr > mspr) mspr = spr - sd = eetime[sys,a]/n[sys,a]-e*e - sd = sqrt(sd)/e - if(sd > msd) msd=sd - tspr += spr; tsd += sd; nspr++ - printf "sys=%s alg=%s.t f3 f4 p=%g e=%g # spread=%.2f%% sd=%.2f%%\n", sys, a, ptime[sys,a]/n[sys,a], e, 100*spr, 100*sd - } - } - printf "ave spread=%.2f%%, ave sd=%.4g%%\n", 100*tspr/nspr, 100*tsd/nspr - printf "max spread=%.2f%%, max sd=%.4g%%\n", 100*mspr, 100*msd - }' "$@" //GO.SYSIN DD ave.times echo rundna 1>&2 sed 's/.//' >rundna <<'//GO.SYSIN DD rundna' -#!/bin/sh - -W5='10 20 30 40 50 100 150 200 250' - -echo dna stats starting `date` -for prog in uf.rev.md2 uf.rev.d1 uf.rev.d2 uf.rev.gd2 uf.rev.d12 -do - rm -f $prog.s $prog.t; ./mk $prog.s $prog.t - for jj in $W5 - do - j=dna.$jj - echo wlen $j - ./$prog.t -se dna.test < $j - ./$prog.s -ss dna.test < $j - done -done -echo dna stats done `date` //GO.SYSIN DD rundna chmod 777 runall runset ave.times rundna