require(ggplot2)

df <- read.csv("http://dl.dropboxusercontent.com/u/361076/memcache_times_w_compression.csv", 
    colClasses = c("factor", "factor", "factor", "numeric"))
levels(df$compressed) <- c("compressed", "uncompressed")

p0 <- ggplot(df, aes(op, milliseconds, colour = class)) + geom_boxplot() + facet_wrap(~compressed)

p0

plot of chunk unnamed-chunk-1

Zoomed in

# Zoom in so the outliers don't make the plot hard to read.
ylim1 = boxplot.stats(df$milliseconds)$stats[c(1, 5)]
p1 <- p0 + coord_cartesian(ylim = c(ylim1[1] - 0.03, ylim1[2] * 1.8))

p1

plot of chunk unnamed-chunk-2

Difference in milliseconds for each combination of operation and compression. Positive numbers indicate a performance improvement between Memcache API and Memcache Storage.


df$op_compressed <- paste(df$op, df$compressed)

# summary(df[df$class == 'MemCacheDrupal' & df$op == 'get' & df$compressed
# == 'compressed',]$milliseconds)
# 
# summary(df[df$class == 'MemcacheStorage & ',]$milliseconds)

by(df, df$op_compressed, function(d) {
    summary(d[d$class == "MemCacheDrupal", ]$milliseconds) - summary(d[d$class == 
        "MemcacheStorage", ]$milliseconds)
})
## df$op_compressed: clear compressed
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0119  0.0131  0.0148  0.0147  0.0150  1.1460 
## -------------------------------------------------------- 
## df$op_compressed: clear uncompressed
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0169  0.0131  0.0148  0.0150  0.0150  1.0800 
## -------------------------------------------------------- 
## df$op_compressed: get compressed
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  -0.010  -0.006  -0.009  -0.007  -0.008  13.100 
## -------------------------------------------------------- 
## df$op_compressed: get uncompressed
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   0.012   0.003  -0.005   0.001  -0.004  13.200 
## -------------------------------------------------------- 
## df$op_compressed: set compressed
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  -0.011  -0.004  -0.004  -0.002  -0.003   9.090 
## -------------------------------------------------------- 
## df$op_compressed: set uncompressed
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   0.002  -0.003  -0.002  -0.001  -0.003   9.040