Skip to content

Instantly share code, notes, and snippets.

@JakubMifek
Created December 28, 2017 23:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save JakubMifek/a7e42ae32868fbb470fefe2031e3b897 to your computer and use it in GitHub Desktop.
Save JakubMifek/a7e42ae32868fbb470fefe2031e3b897 to your computer and use it in GitHub Desktop.
png("./third.png", width=1080, height=560, units="px", pointsize=10, antialias="default")
#table.ml = read.csv("modulFinalTime", header = F, sep = " ")
#table.dl = read.csv("multiFinalTime", header = F, sep = " ")
#table.tl = read.csv("tableFinalTime", header = F, sep = " ")
#table.du = read.csv("multiCuckooTime", header = F, sep = " ")
#table.tu = read.csv("tableCuckooTime", header = F, sep = " ")
plot(x=seq(7, 23, by=2), y = seq(1,200, length=9), type="n", xlab="k", ylab="#Steps", xaxt="n")
axis(1,at=seq(7,23, by=2),labels=seq(7,23,by=2))
cols = c("orange", "green", "red", "blue", "brown", "black")
lin = data.frame(max = rep(0,22-7),min = rep(0,22-7),avg = rep(0,22-7),med = rep(0,22-7),dec = rep(0,22-7))
for (i in seq(7, 22))
{
for (j in seq(1, 100))
{
tmp = read.csv(paste("output_table2/k", i, "-", j, sep=""), header = F, sep = " ")
tmp = tmp[tmp$V1 == "steps:",]
if(length(tmp$V1) > 0){
if (tmp$V1[length(tmp$V1)] == Inf)
tmp = tmp[seq(1,length(tmp$V1) - 1),]
tmp$V2 = as.double(as.character(tmp$V2))
val <- mean(tmp$V2)
if (j == 1) {
multi = data.frame(list=rep(0, 100))
multi[1,1] <- val
} else if (nrow(tmp) > 0) {
multi[j, 1] = val
}
}
}
points(x = rep(i, 5), y = c(mean(multi$list), min(multi$list), max(multi$list), median(multi$list), quantile(multi$list, prob=c(0.9), type=5)), col=cols, pch=19, cex=1)
lin[i,1] = max(multi$list)
lin[i,2] = min(multi$list)
lin[i,3] = mean(multi$list)
lin[i,4] = median(multi$list)
lin[i,5] = quantile(multi$list, prob=c(0.9), type=5)
#lines(multi, col=cols[i - 14])
}
lines(lin$max, col="red")
lines(lin$min, col="green")
lines(lin$med, col="blue")
lines(lin$avg, col="orange")
lines(lin$dec, col="brown")
for (i in seq(7, 22))
{
for (j in seq(1, 100))
{
tmp = read.csv(paste("output_multi2/k", i, "-", j, sep=""), header = F, sep = " ")
tmp = tmp[tmp$V1 == "steps:",]
if(length(tmp$V1) > 0){
if (tmp$V1[length(tmp$V1)] == Inf)
tmp = tmp[seq(1,length(tmp$V1) - 1),]
tmp$V2 = as.double(as.character(tmp$V2))
val <- mean(tmp$V2)
if (j == 1) {
multi = data.frame(list=rep(0, 100))
multi[1,1] <- val
} else if (nrow(tmp) > 0) {
multi[j, 1] = val
}
}
}
points(x = rep(i, 5), y = c(mean(multi$list), min(multi$list), max(multi$list), median(multi$list), quantile(multi$list, prob=c(0.9), type=5)), col=cols, pch=19, cex=1)
lin[i,1] = max(multi$list)
lin[i,2] = min(multi$list)
lin[i,3] = mean(multi$list)
lin[i,4] = median(multi$list)
lin[i,5] = quantile(multi$list, prob=c(0.9), type=5)
#lines(multi, col=cols[i - 14])
}
lines(lin$max, col="red", lty=3)
lines(lin$min, col="green", lty=3)
lines(lin$med, col="blue", lty=3)
lines(lin$avg, col="orange", lty=3)
lines(lin$dec, col="brown", lty=3)
legend("topright", legend = c("Max multishift", "Max table", "Min multishift", "Min table", "Average multishift", "Average table", "Median multishift", "Median table", "Last decil multishift", "Last decil table"), col = c("red", "red", "green", "green", "orange", "orange", "blue", "blue", "brown", "brown"), cex = 1, lty=c(1,3,1,3,1,3,1,3,1,3) )
#table.du2 = read.csv("multiCuckooFinal3", header = F, sep = " ")
#table.tu2 = read.csv("tableCuckooFinal3", header = F, sep = " ")
#toDelete = seq(0, nrow(table.ml), 2);
#table.ml = table.ml[toDelete, ]
#toDelete = seq(0, nrow(table.dl), 2);
#table.dl = table.dl[toDelete, ]
#toDelete = seq(0, nrow(table.tl), 2);
#table.tl = table.tl[toDelete, ]LT
#toDelete = seq(0, nrow(table.du), 2);
#table.du = table.du[toDelete, ]
#toDelete = seq(0, nrow(table.tu), 2);
#table.tu = table.tu[toDelete, ]
#toDelete = seq(0, nrow(table.du2), 2);
#table.du2 = table.du2[toDelete, ]
#toDelete = seq(0, nrow(table.tu2), 2);
#table.tu2 = table.tu2[toDelete, ]
#table.ml = table.ml[table.ml$V1 == "steps:",]
#table.dl = table.dl[table.dl$V1 == "steps:",]
#table.tl = table.tl[table.tl$V1 == "steps:",]
#table.du = table.du[table.du$V1 == "steps:",]
#table.tu = table.tu[table.tu$V1 == "steps:",]
#table.du2 = table.du2[table.du2$V1 == "steps:",]
#table.tu2 = table.tu2[table.tu2$V1 == "steps:",]
#table.ml = table.ml[seq(1,length(table.ml$V1) - 1),]
#table.dl = table.dl[seq(1,length(table.dl$V1) - 1),]
#table.tl = table.tl[seq(1,length(table.tl$V1) - 1),]
#table.du = table.du[seq(1,length(table.du$V1) - 1),]
#table.tu = table.tu[seq(1,length(table.tu$V1) - 1),]
#table.du2 = table.du2[seq(1,length(table.du2$V1) - 1),]
#table.tu2 = table.tu2[seq(1,length(table.tu2$V1) - 1),]
#table.ml$V2 = as.double(as.character(table.ml$V2))
#table.dl$V2 = as.double(as.character(table.dl$V2))
#table.tl$V2 = as.double(as.character(table.tl$V2))
#table.du$V2 = as.double(as.character(table.du$V2))
#table.tu$V2 = as.double(as.character(table.tu$V2))
#table.du2$V2 = as.double(as.character(table.du2$V2))
#table.tu2$V2 = as.double(as.character(table.tu2$V2))
#table.ml$V1 = seq((100.0 / length(table.ml$V1)),100,by=(100.0 / length(table.ml$V1)))
#table.dl$V1 = seq((100.0 / length(table.dl$V1)),100,by=(100.0 / length(table.dl$V1)))
#table.tl$V1 = seq((100.0 / length(table.tl$V1)),100,by=(100.0 / length(table.tl$V1)))
#table.du$V1 = seq((50.0 / length(table.du$V1)), 50, by=(50.0 / length(table.du$V1)))
#table.tu$V1 = seq((50.0 / length(table.tu$V1)), 50, by=(50.0 / length(table.tu$V1)))
#table.du2$V1 = seq((50.0 / length(table.du2$V1)), 50, by=(50.0 / length(table.du2$V1)))
#table.tu2$V1 = seq((50.0 / length(table.tu2$V1)), 50, by=(50.0 / length(table.tu2$V1)))
#par(mar=c(10,12,8,8)+0.3)
#plot(table.ml, col="red",xlim=c(0,100), log="y", ylim=c(0.00001,100000), ylab="ms / Insert", xlab="Percentage filled", cex.axis = 3,cex.lab = 3, type="n", panel.first=grid())
#lines(table.dl, col="blue")
#points(table.tl, col="green")
#lines(table.ml, col="red")
#points(table.ml, col="red")
#lines(table.tl, col="green")
#points(table.dl, col="blue")
#lines(table.du, col="orange")
#points(table.tu, col="violet")
#points(table.du, col="orange")
#lines(table.tu, col="violet")
#lines(table.du2, col="orange", lty="1818")
#lines(table.tu2, col="violet", lty="1818")
#legend("topleft", legend = c("Modulo linear", "Multiplication linear", "Table linear", "Multiplication cuckoo", "Table cuckoo", "Multiplication cuckoo 256 sampling", "Table cuckoo 256 sampling"), col = c("red", "blue", "green", "orange", "violet", "orange", "violet"), cex = 3, lty=c(1,1,1,1,1,3,3) )
#legend("topleft", legend = c("Modulo linear", "Multiplication linear", "Table linear", "Multiplication cuckoo", "Table cuckoo"), col = c("red", "blue", "green", "orange", "violet"), cex = 3, lty=c(1,1,1,1,1) )
#axis(1, at=seq(0,100, by=10), labels=elements[seq(0,100, by=10)], cex.axis=1.5)
dev.off()
#xaxt="n",log="y",
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment