|
Packit |
aea12f |
#!/bin/bash
|
|
Packit |
aea12f |
|
|
Packit |
aea12f |
ecode=0
|
|
Packit |
aea12f |
|
|
Packit |
aea12f |
FAILED=""
|
|
Packit |
aea12f |
|
|
Packit |
aea12f |
if test -z "${OPTIONS}";then
|
|
Packit |
aea12f |
OPTIONS="sha1 sha256 sha384 sha256-new sha1-one"
|
|
Packit |
aea12f |
fi
|
|
Packit |
aea12f |
|
|
Packit |
aea12f |
echo "Running for: $OPTIONS"
|
|
Packit |
aea12f |
|
|
Packit |
aea12f |
TIME=ns
|
|
Packit |
aea12f |
|
|
Packit |
aea12f |
function plot()
|
|
Packit |
aea12f |
{
|
|
Packit |
aea12f |
hash=$1
|
|
Packit |
aea12f |
R --no-save <<_EOF_
|
|
Packit |
aea12f |
#plot
|
|
Packit |
aea12f |
require(lattice)
|
|
Packit |
aea12f |
|
|
Packit |
aea12f |
z=read.csv("out-$hash.txt", header=TRUE);
|
|
Packit |
aea12f |
|
|
Packit |
aea12f |
options(scipen=999)
|
|
Packit |
aea12f |
|
|
Packit |
aea12f |
m <- matrix(ncol=3,nrow=256)
|
|
Packit |
aea12f |
|
|
Packit |
aea12f |
png(filename = "$hash-density.png",width=3072,height=4096,units="px",bg="white");
|
|
Packit |
aea12f |
d <- density(unlist(z[1,]));
|
|
Packit |
aea12f |
plot(d, ylab="Delta", xlab="${TIME}", col="red", main=sprintf("estimated PDF for %d", 1));
|
|
Packit |
aea12f |
for (row in c(4,72,253,256)){
|
|
Packit |
aea12f |
lines(density(unlist(z[row,])), col = sample(colours(), 5));
|
|
Packit |
aea12f |
}
|
|
Packit |
aea12f |
dev.off();
|
|
Packit |
aea12f |
|
|
Packit |
aea12f |
colnames(m) <- c("Delta","TimeMedian","TimeAverage")
|
|
Packit |
aea12f |
for (row in 1:256){
|
|
Packit |
aea12f |
v=tail(z[row,], length(z[row,])-1)
|
|
Packit |
aea12f |
m[row,][1] = unlist(z[row,][1]);
|
|
Packit |
aea12f |
m[row,][2] = median(unlist(v));
|
|
Packit |
aea12f |
m[row,][3] = mean(unlist(v));
|
|
Packit |
aea12f |
}
|
|
Packit |
aea12f |
|
|
Packit |
aea12f |
png(filename = "$hash-timings-med.png",width=1024,height=1024,units="px",bg="white");
|
|
Packit |
aea12f |
plot(m[,1],m[,2],xlab="Delta",ylab="Median timings (${TIME})");
|
|
Packit |
aea12f |
dev.off();
|
|
Packit |
aea12f |
|
|
Packit |
aea12f |
png(filename = "$hash-timings-ave.png",width=1024,height=1024,units="px",bg="white");
|
|
Packit |
aea12f |
plot(m[,1],m[,3],xlab="Delta",ylab="Average timings (${TIME})");
|
|
Packit |
aea12f |
dev.off();
|
|
Packit |
aea12f |
|
|
Packit |
aea12f |
estatus=0;
|
|
Packit |
aea12f |
for (row in 2:256){
|
|
Packit |
aea12f |
v=ks.test(unlist(z[1,]),unlist(z[row,]));
|
|
Packit |
aea12f |
p = 0.05/255
|
|
Packit |
aea12f |
if (v[2] < p) {
|
|
Packit |
aea12f |
print (row);
|
|
Packit |
aea12f |
print (v[2]);
|
|
Packit |
aea12f |
estatus=1;
|
|
Packit |
aea12f |
}
|
|
Packit |
aea12f |
}
|
|
Packit |
aea12f |
q(status=estatus);
|
|
Packit |
aea12f |
_EOF_
|
|
Packit |
aea12f |
|
|
Packit |
aea12f |
if test $? != 0;then
|
|
Packit |
aea12f |
echo "*** Failed test for $hash"
|
|
Packit |
aea12f |
FAILED="${FAILED} $hash"
|
|
Packit |
aea12f |
ecode=1
|
|
Packit |
aea12f |
fi
|
|
Packit |
aea12f |
}
|
|
Packit |
aea12f |
|
|
Packit |
aea12f |
for hash in ${OPTIONS};do
|
|
Packit |
aea12f |
if ! test -f out-$hash.txt;then
|
|
Packit |
aea12f |
./mini-record-timing $hash
|
|
Packit |
aea12f |
fi
|
|
Packit |
aea12f |
plot $hash
|
|
Packit |
aea12f |
done
|
|
Packit |
aea12f |
|
|
Packit |
aea12f |
echo "Failed: ${FAILED}"
|
|
Packit |
aea12f |
|
|
Packit |
aea12f |
exit $ecode
|