diff --git a/makeplots.R b/makeplots.R index 72f0157399a226f93efc04ccce37767a69cca162..7af033799f924e4610c43bb836548db669972ff6 100755 --- a/makeplots.R +++ b/makeplots.R @@ -29,12 +29,41 @@ se <- function(x) sqrt(var(x)/length(x)) +# operators +d <- all %>% filter(exp=="operators", s > 5) %>% group_by(exp, sys, s, conf) %>% + summarize(meant=mean(timesec), se=se(timesec)) %>% + mutate(conf=ifelse(conf=="opt"," + Vectorization",""), tool=paste(sys,conf,sep=""), datasize=10^as.integer(s)) + +print(d) + +limits <- aes(ymax = meant + se, ymin=meant - se, width=2) + +pdf("operators.pdf",width=10,height=7) +p <- ggplot(d,aes(datasize,meant,group=tool)) + + geom_point(size=4) + geom_line(size=1.5, aes(group=tool, linetype=tool)) + + geom_pointrange(limits) + + # scale_y_log10(breaks=ybreaks, labels=ylabels) + + scale_x_log10(breaks=xbreaks, labels=xlabels, limits=c(NA, 10^9.1)) + + + xlab("Dataset Size (elements, log scale)") + ylab("Execution Time (s)") + theme + + + annotate("text", x=10^7.8, y=-1, label="GNU R", family="serif", size=10)+ + annotate("text", x=10^8.55, y=39, label="Renjin ", family="serif", size=10)+ + annotate("text", x=10^8.8, y=8, label="Renjin + Vec.", family="serif", size=10) + + #annotate("text", x=700000, y=6, label="Renjin", family="serif", size=10)+ + #annotate("text", x=20000000, y=2, label="Renjin + Recycling", family="serif", size=10) + + +print(p) +dev.off() + # survey d <- all %>% filter(exp=="survey") %>% group_by(sys, s, conf) %>% summarize(meant=mean(timesec), se=se(timesec)) %>% mutate(tool=paste(sys,conf), datasize=sapply(s, switch, alabama=47512, california=1060060, acs3yr=9093077)) %>% - filter(tool %in% c("Renjin jitopt", "Renjin none", "Renjin 1t") | sys == "GNU R") + filter(tool %in% c("Renjin jitopt", "Renjin none", "Renjin 1t") | sys =="GNU R" | conf == "pqr") print(d) @@ -48,7 +77,9 @@ ggplot(d,aes(datasize,meant,group=tool)) + scale_x_log10(breaks=c(47512,1060060,9093077)) + xlab("Dataset Size (elements, log scale)") + ylab("Execution Time (s)") + theme + - annotate("text", x=10^6.6, y=45, label="GNU R", family="serif", size=10)+ + annotate("text", x=10^6.7, y=45, label="pqR", family="serif", size=10)+ + annotate("text", x=10^6.9, y=30, label="GNU R", family="serif", size=10)+ + annotate("text", x=10^6.4, y=100, label="Renjin -opt", family="serif", size=10)+ annotate("text", x=10^6.8, y=-1, label="Renjin", family="serif", size=10)+ annotate("text", x=10^6.8, y=20, label="Renjin 1t", family="serif", size=10) @@ -188,35 +219,6 @@ dev.off() -# operators -d <- all %>% filter(exp=="operators", s > 5) %>% group_by(exp, sys, s, conf) %>% - summarize(meant=mean(timesec), se=se(timesec)) %>% - mutate(conf=ifelse(conf=="opt"," + Vectorization",""), tool=paste(sys,conf,sep=""), datasize=10^as.integer(s)) - -print(d) - -limits <- aes(ymax = meant + se, ymin=meant - se, width=2) - -pdf("operators.pdf",width=10,height=7) -p <- ggplot(d,aes(datasize,meant,group=tool)) + - geom_point(size=4) + geom_line(size=1.5, aes(group=tool, linetype=tool)) + - geom_pointrange(limits) + - # scale_y_log10(breaks=ybreaks, labels=ylabels) + - scale_x_log10(breaks=xbreaks, labels=xlabels, limits=c(NA, 10^8.1)) + - - xlab("Dataset Size (elements, log scale)") + ylab("Execution Time (log)") + theme + - - annotate("text", x=10^7.8, y=4, label="GNU R", family="serif", size=10)+ - annotate("text", x=40000000, y=19, label="Renjin ", family="serif", size=10)+ - annotate("text", x=10^7.95, y=14, label="Renjin + V.", family="serif", size=10) - - #annotate("text", x=700000, y=6, label="Renjin", family="serif", size=10)+ - #annotate("text", x=20000000, y=2, label="Renjin + Recycling", family="serif", size=10) - - -print(p) -dev.off() - # # print some latex for the paper # selection$timesec <- selection$timesec/1000