1<%@include file="includes/setup.md.rsp"%> 2 3<%@string colname="colCumprods"%> 4<%@string rowname="rowCumprods"%> 5<%@string fcnname="colRowCumprods_subset"%> 6<%@meta title="${colname}() and ${rowname}() benchmarks on subsetted computation"%> 7<%@meta author="Dongcan Jiang"%> 8<%@meta date="2015-06-06"%> 9 10<%@include file="${header}"%> 11 12 13# <%@meta name="title"%> 14 15This report benchmark the performance of <%=colname%>() and <%=rowname%>() on subsetted computation. 16 17 18<% for (mode in c("integer", "double")) { %> 19 20## Data type "<%=mode%>" 21 22### Data 23```r 24<%=withCapture({ 25<%@include file="R/random-matrices.R"%> 26data <- rmatrices(mode = mode, range = c(-1, 1)) 27})%> 28``` 29 30### Results 31 32<% for (dataLabel in names(data)) { %> 33<% mprintf("%s: %s\n", mode, dataLabel) %> 34#### <%=dataLabel%> <%=mode%> matrix 35 36```r 37<%=withCapture({ 38X <- data[[.dataLabel.]] 39rows <- sample.int(nrow(X), size = nrow(X)*0.7) 40cols <- sample.int(ncol(X), size = ncol(X)*0.7) 41X_S <- X[rows, cols] 42gc() 43 44colStats <- microbenchmark( 45 "colCumprods_X_S" = colCumprods(X_S), 46 "colCumprods(X, rows, cols)" = colCumprods(X, rows = rows, cols = cols), 47 "colCumprods(X[rows, cols])" = colCumprods(X[rows, cols]), 48 unit = "ms" 49) 50 51X <- t(X) 52X_S <- t(X_S) 53gc() 54 55rowStats <- microbenchmark( 56 "rowCumprods_X_S" = rowCumprods(X_S), 57 "rowCumprods(X, cols, rows)" = rowCumprods(X, rows = cols, cols = rows), 58 "rowCumprods(X[cols, rows])" = rowCumprods(X[cols, rows]), 59 unit = "ms" 60) 61})%> 62``` 63 64<% crBenchmarkResults(colStats, rowStats, tags=c(mode, dataLabel)) %> 65 66<% } # for (dataLabel ...) %> 67 68<% } # for (mode ...) %> 69 70 71<%@include file="${footer}"%> 72 73 74<%--------------------------------------------------------------------------- 75HISTORY: 762015-06-06 77o Created. 78---------------------------------------------------------------------------%> 79