This report benchmark the performance of colRanks() and rowRanks() against alternative methods.
> rmatrix <- function(nrow, ncol, mode = c("logical", "double", "integer", "index"), range = c(-100,
+ +100), na_prob = 0) {
+ mode <- match.arg(mode)
+ n <- nrow * ncol
+ if (mode == "logical") {
+ x <- sample(c(FALSE, TRUE), size = n, replace = TRUE)
+ } else if (mode == "index") {
+ x <- seq_len(n)
+ mode <- "integer"
+ } else {
+ x <- runif(n, min = range[1], max = range[2])
+ }
+ storage.mode(x) <- mode
+ if (na_prob > 0)
+ x[sample(n, size = na_prob * n)] <- NA
+ dim(x) <- c(nrow, ncol)
+ x
+ }
> rmatrices <- function(scale = 10, seed = 1, ...) {
+ set.seed(seed)
+ data <- list()
+ data[[1]] <- rmatrix(nrow = scale * 1, ncol = scale * 1, ...)
+ data[[2]] <- rmatrix(nrow = scale * 10, ncol = scale * 10, ...)
+ data[[3]] <- rmatrix(nrow = scale * 100, ncol = scale * 1, ...)
+ data[[4]] <- t(data[[3]])
+ data[[5]] <- rmatrix(nrow = scale * 10, ncol = scale * 100, ...)
+ data[[6]] <- t(data[[5]])
+ names(data) <- sapply(data, FUN = function(x) paste(dim(x), collapse = "x"))
+ data
+ }
> data <- rmatrices(mode = mode)
> X <- data[["10x10"]]
> gc()
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 5298850 283.0 7916910 422.9 7916910 422.9
Vcells 10532033 80.4 33191153 253.3 53339345 407.0
> colStats <- microbenchmark(colRanks = colRanks(X, na.rm = FALSE), `apply+rank` = apply(X, MARGIN = 2L,
+ FUN = rank, na.last = "keep", ties.method = "max"), unit = "ms")
> X <- t(X)
> gc()
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 5298445 283.0 7916910 422.9 7916910 422.9
Vcells 10531056 80.4 33191153 253.3 53339345 407.0
> rowStats <- microbenchmark(rowRanks = rowRanks(X, na.rm = FALSE), `apply+rank` = apply(X, MARGIN = 1L,
+ FUN = rank, na.last = "keep", ties.method = "max"), unit = "ms")
Table: Benchmarking of colRanks() and apply+rank() on integer+10x10 data. The top panel shows times in milliseconds and the bottom panel shows relative times.
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | colRanks | 0.009407 | 0.011369 | 0.0169393 | 0.014047 | 0.0166995 | 0.149608 |
| 2 | apply+rank | 0.183609 | 0.200873 | 0.2411812 | 0.220219 | 0.2415300 | 0.746317 |
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | colRanks | 1.00000 | 1.00000 | 1.00000 | 1.0000 | 1.00000 | 1.000000 |
| 2 | apply+rank | 19.51834 | 17.66848 | 14.23796 | 15.6773 | 14.46331 | 4.988483 |
Table: Benchmarking of rowRanks() and apply+rank() on integer+10x10 data (transposed). The top panel shows times in milliseconds and the bottom panel shows relative times.
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | rowRanks | 0.005494 | 0.0063860 | 0.0086414 | 0.0083770 | 0.009419 | 0.034827 |
| 2 | apply+rank | 0.183176 | 0.1924125 | 0.2101817 | 0.2055875 | 0.218420 | 0.375835 |
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | rowRanks | 1.0000 | 1.00000 | 1.00000 | 1.0000 | 1.0000 | 1.00000 |
| 2 | apply+rank | 33.3411 | 30.13036 | 24.32254 | 24.5419 | 23.1893 | 10.79148 |
Figure: Benchmarking of colRanks() and apply+rank() on integer+10x10 data as well as rowRanks() and apply+rank() on the same data transposed. Outliers are displayed as crosses. Times are in milliseconds.

Table: Benchmarking of colRanks() and rowRanks() on integer+10x10 data (original and transposed). The top panel shows times in milliseconds and the bottom panel shows relative times.
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 2 | rowRanks | 5.494 | 6.386 | 8.64144 | 8.377 | 9.4190 | 34.827 |
| 1 | colRanks | 9.407 | 11.369 | 16.93931 | 14.047 | 16.6995 | 149.608 |
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 2 | rowRanks | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 |
| 1 | colRanks | 1.712231 | 1.780301 | 1.960242 | 1.676853 | 1.772959 | 4.295748 |
Figure: Benchmarking of colRanks() and rowRanks() on integer+10x10 data (original and transposed). Outliers are displayed as crosses. Times are in milliseconds.

> X <- data[["100x100"]]
> gc()
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 5297005 282.9 7916910 422.9 7916910 422.9
Vcells 10147558 77.5 33191153 253.3 53339345 407.0
> colStats <- microbenchmark(colRanks = colRanks(X, na.rm = FALSE), `apply+rank` = apply(X, MARGIN = 2L,
+ FUN = rank, na.last = "keep", ties.method = "max"), unit = "ms")
> X <- t(X)
> gc()
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 5296999 282.9 7916910 422.9 7916910 422.9
Vcells 10152601 77.5 33191153 253.3 53339345 407.0
> rowStats <- microbenchmark(rowRanks = rowRanks(X, na.rm = FALSE), `apply+rank` = apply(X, MARGIN = 1L,
+ FUN = rank, na.last = "keep", ties.method = "max"), unit = "ms")
Table: Benchmarking of colRanks() and apply+rank() on integer+100x100 data. The top panel shows times in milliseconds and the bottom panel shows relative times.
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | colRanks | 0.322609 | 0.3619875 | 0.4050859 | 0.389438 | 0.4254825 | 0.731030 |
| 2 | apply+rank | 1.850169 | 2.0953320 | 2.4162842 | 2.296550 | 2.5052410 | 4.056521 |
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | colRanks | 1.00000 | 1.00000 | 1.000000 | 1.000000 | 1.000 | 1.000000 |
| 2 | apply+rank | 5.73502 | 5.78841 | 5.964868 | 5.897088 | 5.888 | 5.549049 |
Table: Benchmarking of rowRanks() and apply+rank() on integer+100x100 data (transposed). The top panel shows times in milliseconds and the bottom panel shows relative times.
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | rowRanks | 0.310151 | 0.349815 | 0.3852806 | 0.3686975 | 0.403289 | 0.562923 |
| 2 | apply+rank | 1.831974 | 2.042712 | 2.3853072 | 2.2199200 | 2.495522 | 4.990405 |
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | rowRanks | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 |
| 2 | apply+rank | 5.906716 | 5.839408 | 6.191092 | 6.020979 | 6.187925 | 8.865165 |
Figure: Benchmarking of colRanks() and apply+rank() on integer+100x100 data as well as rowRanks() and apply+rank() on the same data transposed. Outliers are displayed as crosses. Times are in milliseconds.

Table: Benchmarking of colRanks() and rowRanks() on integer+100x100 data (original and transposed). The top panel shows times in milliseconds and the bottom panel shows relative times.
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 2 | rowRanks | 310.151 | 349.8150 | 385.2806 | 368.6975 | 403.2890 | 562.923 |
| 1 | colRanks | 322.609 | 361.9875 | 405.0859 | 389.4380 | 425.4825 | 731.030 |
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 2 | rowRanks | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 |
| 1 | colRanks | 1.040167 | 1.034797 | 1.051405 | 1.056253 | 1.055031 | 1.298632 |
Figure: Benchmarking of colRanks() and rowRanks() on integer+100x100 data (original and transposed). Outliers are displayed as crosses. Times are in milliseconds.

> X <- data[["1000x10"]]
> gc()
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 5297747 283.0 7916910 422.9 7916910 422.9
Vcells 10151091 77.5 33191153 253.3 53339345 407.0
> colStats <- microbenchmark(colRanks = colRanks(X, na.rm = FALSE), `apply+rank` = apply(X, MARGIN = 2L,
+ FUN = rank, na.last = "keep", ties.method = "max"), unit = "ms")
> X <- t(X)
> gc()
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 5297729 283.0 7916910 422.9 7916910 422.9
Vcells 10156114 77.5 33191153 253.3 53339345 407.0
> rowStats <- microbenchmark(rowRanks = rowRanks(X, na.rm = FALSE), `apply+rank` = apply(X, MARGIN = 1L,
+ FUN = rank, na.last = "keep", ties.method = "max"), unit = "ms")
Table: Benchmarking of colRanks() and apply+rank() on integer+1000x10 data. The top panel shows times in milliseconds and the bottom panel shows relative times.
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | colRanks | 0.393898 | 0.4494935 | 0.5064234 | 0.481463 | 0.5305685 | 0.812872 |
| 2 | apply+rank | 1.089100 | 1.2463020 | 1.4129721 | 1.361967 | 1.5017565 | 2.123362 |
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | colRanks | 1.000000 | 1.000000 | 1.0000 | 1.000000 | 1.000000 | 1.000000 |
| 2 | apply+rank | 2.764929 | 2.772681 | 2.7901 | 2.828809 | 2.830467 | 2.612173 |
Table: Benchmarking of rowRanks() and apply+rank() on integer+1000x10 data (transposed). The top panel shows times in milliseconds and the bottom panel shows relative times.
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | rowRanks | 0.379688 | 0.397256 | 0.461763 | 0.4435065 | 0.4986095 | 0.773803 |
| 2 | apply+rank | 1.098332 | 1.156041 | 1.350847 | 1.2794880 | 1.4695510 | 2.213816 |
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | rowRanks | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 |
| 2 | apply+rank | 2.892722 | 2.910064 | 2.925411 | 2.884936 | 2.947298 | 2.860956 |
Figure: Benchmarking of colRanks() and apply+rank() on integer+1000x10 data as well as rowRanks() and apply+rank() on the same data transposed. Outliers are displayed as crosses. Times are in milliseconds.

Table: Benchmarking of colRanks() and rowRanks() on integer+1000x10 data (original and transposed). The top panel shows times in milliseconds and the bottom panel shows relative times.
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 2 | rowRanks | 379.688 | 397.2560 | 461.7630 | 443.5065 | 498.6095 | 773.803 |
| 1 | colRanks | 393.898 | 449.4935 | 506.4234 | 481.4630 | 530.5685 | 812.872 |
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 2 | rowRanks | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.00000 |
| 1 | colRanks | 1.037425 | 1.131496 | 1.096717 | 1.085583 | 1.064096 | 1.05049 |
Figure: Benchmarking of colRanks() and rowRanks() on integer+1000x10 data (original and transposed). Outliers are displayed as crosses. Times are in milliseconds.

> X <- data[["10x1000"]]
> gc()
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 5297923 283.0 7916910 422.9 7916910 422.9
Vcells 10151754 77.5 33191153 253.3 53339345 407.0
> colStats <- microbenchmark(colRanks = colRanks(X, na.rm = FALSE), `apply+rank` = apply(X, MARGIN = 2L,
+ FUN = rank, na.last = "keep", ties.method = "max"), unit = "ms")
> X <- t(X)
> gc()
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 5297917 283.0 7916910 422.9 7916910 422.9
Vcells 10156797 77.5 33191153 253.3 53339345 407.0
> rowStats <- microbenchmark(rowRanks = rowRanks(X, na.rm = FALSE), `apply+rank` = apply(X, MARGIN = 1L,
+ FUN = rank, na.last = "keep", ties.method = "max"), unit = "ms")
Table: Benchmarking of colRanks() and apply+rank() on integer+10x1000 data. The top panel shows times in milliseconds and the bottom panel shows relative times.
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | colRanks | 0.204627 | 0.2212945 | 0.2513058 | 0.2471305 | 0.2708045 | 0.328413 |
| 2 | apply+rank | 11.934508 | 12.5422885 | 14.3525436 | 13.4208540 | 15.5776350 | 24.846604 |
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | colRanks | 1.00000 | 1.00000 | 1.00000 | 1.00000 | 1.00000 | 1.00000 |
| 2 | apply+rank | 58.32323 | 56.67691 | 57.11187 | 54.30675 | 57.52355 | 75.65658 |
Table: Benchmarking of rowRanks() and apply+rank() on integer+10x1000 data (transposed). The top panel shows times in milliseconds and the bottom panel shows relative times.
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | rowRanks | 0.185139 | 0.197105 | 0.2259436 | 0.220442 | 0.239653 | 0.400474 |
| 2 | apply+rank | 12.079408 | 12.677535 | 14.7159397 | 13.304649 | 15.878499 | 30.775770 |
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | rowRanks | 1.00000 | 1.00000 | 1.00000 | 1.00000 | 1.00000 | 1.00000 |
| 2 | apply+rank | 65.24508 | 64.31869 | 65.13104 | 60.35442 | 66.25621 | 76.84836 |
Figure: Benchmarking of colRanks() and apply+rank() on integer+10x1000 data as well as rowRanks() and apply+rank() on the same data transposed. Outliers are displayed as crosses. Times are in milliseconds.

Table: Benchmarking of colRanks() and rowRanks() on integer+10x1000 data (original and transposed). The top panel shows times in milliseconds and the bottom panel shows relative times.
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 2 | rowRanks | 185.139 | 197.1050 | 225.9436 | 220.4420 | 239.6530 | 400.474 |
| 1 | colRanks | 204.627 | 221.2945 | 251.3058 | 247.1305 | 270.8045 | 328.413 |
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 2 | rowRanks | 1.000000 | 1.000000 | 1.00000 | 1.000000 | 1.000000 | 1.0000000 |
| 1 | colRanks | 1.105261 | 1.122724 | 1.11225 | 1.121068 | 1.129986 | 0.8200607 |
Figure: Benchmarking of colRanks() and rowRanks() on integer+10x1000 data (original and transposed). Outliers are displayed as crosses. Times are in milliseconds.

> X <- data[["100x1000"]]
> gc()
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 5298119 283.0 7916910 422.9 7916910 422.9
Vcells 10152266 77.5 33191153 253.3 53339345 407.0
> colStats <- microbenchmark(colRanks = colRanks(X, na.rm = FALSE), `apply+rank` = apply(X, MARGIN = 2L,
+ FUN = rank, na.last = "keep", ties.method = "max"), unit = "ms")
> X <- t(X)
> gc()
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 5298101 283.0 7916910 422.9 7916910 422.9
Vcells 10202289 77.9 33191153 253.3 53339345 407.0
> rowStats <- microbenchmark(rowRanks = rowRanks(X, na.rm = FALSE), `apply+rank` = apply(X, MARGIN = 1L,
+ FUN = rank, na.last = "keep", ties.method = "max"), unit = "ms")
Table: Benchmarking of colRanks() and apply+rank() on integer+100x1000 data. The top panel shows times in milliseconds and the bottom panel shows relative times.
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | colRanks | 3.159446 | 3.287911 | 3.440933 | 3.392974 | 3.509068 | 4.305031 |
| 2 | apply+rank | 18.490284 | 19.522363 | 21.161900 | 19.822294 | 20.489353 | 39.063513 |
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | colRanks | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 |
| 2 | apply+rank | 5.852382 | 5.937618 | 6.150047 | 5.842158 | 5.838973 | 9.073921 |
Table: Benchmarking of rowRanks() and apply+rank() on integer+100x1000 data (transposed). The top panel shows times in milliseconds and the bottom panel shows relative times.
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | rowRanks | 3.056219 | 3.24029 | 3.38946 | 3.322281 | 3.483862 | 4.248177 |
| 2 | apply+rank | 18.654637 | 19.91694 | 21.67497 | 20.461286 | 21.207750 | 38.361005 |
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | rowRanks | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 |
| 2 | apply+rank | 6.103829 | 6.146654 | 6.394815 | 6.158807 | 6.087425 | 9.029992 |
Figure: Benchmarking of colRanks() and apply+rank() on integer+100x1000 data as well as rowRanks() and apply+rank() on the same data transposed. Outliers are displayed as crosses. Times are in milliseconds.

Table: Benchmarking of colRanks() and rowRanks() on integer+100x1000 data (original and transposed). The top panel shows times in milliseconds and the bottom panel shows relative times.
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 2 | rowRanks | 3.056219 | 3.240290 | 3.389460 | 3.322281 | 3.483862 | 4.248177 |
| 1 | colRanks | 3.159446 | 3.287911 | 3.440933 | 3.392974 | 3.509068 | 4.305031 |
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 2 | rowRanks | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 |
| 1 | colRanks | 1.033776 | 1.014696 | 1.015186 | 1.021279 | 1.007235 | 1.013383 |
Figure: Benchmarking of colRanks() and rowRanks() on integer+100x1000 data (original and transposed). Outliers are displayed as crosses. Times are in milliseconds.

> X <- data[["1000x100"]]
> gc()
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 5298311 283.0 7916910 422.9 7916910 422.9
Vcells 10152836 77.5 33191153 253.3 53339345 407.0
> colStats <- microbenchmark(colRanks = colRanks(X, na.rm = FALSE), `apply+rank` = apply(X, MARGIN = 2L,
+ FUN = rank, na.last = "keep", ties.method = "max"), unit = "ms")
> X <- t(X)
> gc()
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 5298293 283.0 7916910 422.9 7916910 422.9
Vcells 10202859 77.9 33191153 253.3 53339345 407.0
> rowStats <- microbenchmark(rowRanks = rowRanks(X, na.rm = FALSE), `apply+rank` = apply(X, MARGIN = 1L,
+ FUN = rank, na.last = "keep", ties.method = "max"), unit = "ms")
Table: Benchmarking of colRanks() and apply+rank() on integer+1000x100 data. The top panel shows times in milliseconds and the bottom panel shows relative times.
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | colRanks | 3.896785 | 4.112804 | 4.489607 | 4.253279 | 4.42249 | 13.67832 |
| 2 | apply+rank | 10.729543 | 11.316907 | 11.926806 | 11.620297 | 11.98809 | 22.93321 |
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | colRanks | 1.000000 | 1.000000 | 1.000000 | 1.00000 | 1.00000 | 1.00000 |
| 2 | apply+rank | 2.753435 | 2.751628 | 2.656537 | 2.73208 | 2.71071 | 1.67661 |
Table: Benchmarking of rowRanks() and apply+rank() on integer+1000x100 data (transposed). The top panel shows times in milliseconds and the bottom panel shows relative times.
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | rowRanks | 3.780137 | 4.021685 | 4.166701 | 4.130434 | 4.268876 | 4.986526 |
| 2 | apply+rank | 10.752102 | 11.378576 | 12.114239 | 11.586593 | 12.095277 | 24.792563 |
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | rowRanks | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 |
| 2 | apply+rank | 2.844368 | 2.829306 | 2.907393 | 2.805175 | 2.833364 | 4.971911 |
Figure: Benchmarking of colRanks() and apply+rank() on integer+1000x100 data as well as rowRanks() and apply+rank() on the same data transposed. Outliers are displayed as crosses. Times are in milliseconds.

Table: Benchmarking of colRanks() and rowRanks() on integer+1000x100 data (original and transposed). The top panel shows times in milliseconds and the bottom panel shows relative times.
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 2 | rowRanks | 3.780137 | 4.021685 | 4.166701 | 4.130434 | 4.268876 | 4.986526 |
| 1 | colRanks | 3.896785 | 4.112804 | 4.489607 | 4.253279 | 4.422490 | 13.678319 |
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 2 | rowRanks | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 |
| 1 | colRanks | 1.030858 | 1.022657 | 1.077497 | 1.029741 | 1.035985 | 2.743056 |
Figure: Benchmarking of colRanks() and rowRanks() on integer+1000x100 data (original and transposed). Outliers are displayed as crosses. Times are in milliseconds.

> rmatrix <- function(nrow, ncol, mode = c("logical", "double", "integer", "index"), range = c(-100,
+ +100), na_prob = 0) {
+ mode <- match.arg(mode)
+ n <- nrow * ncol
+ if (mode == "logical") {
+ x <- sample(c(FALSE, TRUE), size = n, replace = TRUE)
+ } else if (mode == "index") {
+ x <- seq_len(n)
+ mode <- "integer"
+ } else {
+ x <- runif(n, min = range[1], max = range[2])
+ }
+ storage.mode(x) <- mode
+ if (na_prob > 0)
+ x[sample(n, size = na_prob * n)] <- NA
+ dim(x) <- c(nrow, ncol)
+ x
+ }
> rmatrices <- function(scale = 10, seed = 1, ...) {
+ set.seed(seed)
+ data <- list()
+ data[[1]] <- rmatrix(nrow = scale * 1, ncol = scale * 1, ...)
+ data[[2]] <- rmatrix(nrow = scale * 10, ncol = scale * 10, ...)
+ data[[3]] <- rmatrix(nrow = scale * 100, ncol = scale * 1, ...)
+ data[[4]] <- t(data[[3]])
+ data[[5]] <- rmatrix(nrow = scale * 10, ncol = scale * 100, ...)
+ data[[6]] <- t(data[[5]])
+ names(data) <- sapply(data, FUN = function(x) paste(dim(x), collapse = "x"))
+ data
+ }
> data <- rmatrices(mode = mode)
> X <- data[["10x10"]]
> gc()
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 5298499 283.0 7916910 422.9 7916910 422.9
Vcells 10269166 78.4 33191153 253.3 53339345 407.0
> colStats <- microbenchmark(colRanks = colRanks(X, na.rm = FALSE), `apply+rank` = apply(X, MARGIN = 2L,
+ FUN = rank, na.last = "keep", ties.method = "max"), unit = "ms")
> X <- t(X)
> gc()
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 5298484 283.0 7916910 422.9 7916910 422.9
Vcells 10269294 78.4 33191153 253.3 53339345 407.0
> rowStats <- microbenchmark(rowRanks = rowRanks(X, na.rm = FALSE), `apply+rank` = apply(X, MARGIN = 1L,
+ FUN = rank, na.last = "keep", ties.method = "max"), unit = "ms")
Table: Benchmarking of colRanks() and apply+rank() on double+10x10 data. The top panel shows times in milliseconds and the bottom panel shows relative times.
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | colRanks | 0.009106 | 0.0104045 | 0.0137578 | 0.0129245 | 0.0147160 | 0.046790 |
| 2 | apply+rank | 0.179542 | 0.1883375 | 0.2027790 | 0.1987100 | 0.2104405 | 0.363424 |
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | colRanks | 1.00000 | 1.00000 | 1.00000 | 1.00000 | 1.00000 | 1.00000 |
| 2 | apply+rank | 19.71689 | 18.10154 | 14.73924 | 15.37468 | 14.30012 | 7.76713 |
Table: Benchmarking of rowRanks() and apply+rank() on double+10x10 data (transposed). The top panel shows times in milliseconds and the bottom panel shows relative times.
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | rowRanks | 0.005750 | 0.0075175 | 0.0115225 | 0.0098755 | 0.0131015 | 0.027957 |
| 2 | apply+rank | 0.194529 | 0.2061155 | 0.2541952 | 0.2249310 | 0.2607190 | 0.452338 |
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | rowRanks | 1.00000 | 1.00000 | 1.00000 | 1.00000 | 1.00000 | 1.00000 |
| 2 | apply+rank | 33.83113 | 27.41809 | 22.06073 | 22.77667 | 19.89994 | 16.17978 |
Figure: Benchmarking of colRanks() and apply+rank() on double+10x10 data as well as rowRanks() and apply+rank() on the same data transposed. Outliers are displayed as crosses. Times are in milliseconds.

Table: Benchmarking of colRanks() and rowRanks() on double+10x10 data (original and transposed). The top panel shows times in milliseconds and the bottom panel shows relative times.
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 2 | rowRanks | 5.750 | 7.5175 | 11.52252 | 9.8755 | 13.1015 | 27.957 |
| 1 | colRanks | 9.106 | 10.4045 | 13.75777 | 12.9245 | 14.7160 | 46.790 |
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 2 | rowRanks | 1.000000 | 1.000000 | 1.00000 | 1.000000 | 1.00000 | 1.000000 |
| 1 | colRanks | 1.583652 | 1.384037 | 1.19399 | 1.308744 | 1.12323 | 1.673642 |
Figure: Benchmarking of colRanks() and rowRanks() on double+10x10 data (original and transposed). Outliers are displayed as crosses. Times are in milliseconds.

> X <- data[["100x100"]]
> gc()
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 5298679 283.0 7916910 422.9 7916910 422.9
Vcells 10269278 78.4 33191153 253.3 53339345 407.0
> colStats <- microbenchmark(colRanks = colRanks(X, na.rm = FALSE), `apply+rank` = apply(X, MARGIN = 2L,
+ FUN = rank, na.last = "keep", ties.method = "max"), unit = "ms")
> X <- t(X)
> gc()
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 5298673 283.0 7916910 422.9 7916910 422.9
Vcells 10279321 78.5 33191153 253.3 53339345 407.0
> rowStats <- microbenchmark(rowRanks = rowRanks(X, na.rm = FALSE), `apply+rank` = apply(X, MARGIN = 1L,
+ FUN = rank, na.last = "keep", ties.method = "max"), unit = "ms")
Table: Benchmarking of colRanks() and apply+rank() on double+100x100 data. The top panel shows times in milliseconds and the bottom panel shows relative times.
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | colRanks | 0.333789 | 0.3567785 | 0.390592 | 0.37357 | 0.4011065 | 0.677455 |
| 2 | apply+rank | 1.816022 | 1.9441860 | 2.177894 | 2.03974 | 2.2920700 | 3.680256 |
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | colRanks | 1.000000 | 1.00000 | 1.00000 | 1.000000 | 1.000000 | 1.000000 |
| 2 | apply+rank | 5.440629 | 5.44928 | 5.57588 | 5.460127 | 5.714368 | 5.432473 |
Table: Benchmarking of rowRanks() and apply+rank() on double+100x100 data (transposed). The top panel shows times in milliseconds and the bottom panel shows relative times.
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | rowRanks | 0.327560 | 0.3391095 | 0.3658859 | 0.347917 | 0.3702355 | 0.528486 |
| 2 | apply+rank | 1.826432 | 1.8880900 | 2.0880218 | 1.944974 | 2.0914905 | 3.663260 |
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | rowRanks | 1.00000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 |
| 2 | apply+rank | 5.57587 | 5.567789 | 5.706757 | 5.590339 | 5.649082 | 6.931612 |
Figure: Benchmarking of colRanks() and apply+rank() on double+100x100 data as well as rowRanks() and apply+rank() on the same data transposed. Outliers are displayed as crosses. Times are in milliseconds.

Table: Benchmarking of colRanks() and rowRanks() on double+100x100 data (original and transposed). The top panel shows times in milliseconds and the bottom panel shows relative times.
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 2 | rowRanks | 327.560 | 339.1095 | 365.8859 | 347.917 | 370.2355 | 528.486 |
| 1 | colRanks | 333.789 | 356.7785 | 390.5920 | 373.570 | 401.1065 | 677.455 |
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 2 | rowRanks | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 |
| 1 | colRanks | 1.019016 | 1.052104 | 1.067524 | 1.073733 | 1.083382 | 1.281879 |
Figure: Benchmarking of colRanks() and rowRanks() on double+100x100 data (original and transposed). Outliers are displayed as crosses. Times are in milliseconds.

> X <- data[["1000x10"]]
> gc()
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 5298881 283.0 7916910 422.9 7916910 422.9
Vcells 10270178 78.4 33191153 253.3 53339345 407.0
> colStats <- microbenchmark(colRanks = colRanks(X, na.rm = FALSE), `apply+rank` = apply(X, MARGIN = 2L,
+ FUN = rank, na.last = "keep", ties.method = "max"), unit = "ms")
> X <- t(X)
> gc()
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 5298863 283.0 7916910 422.9 7916910 422.9
Vcells 10280201 78.5 33191153 253.3 53339345 407.0
> rowStats <- microbenchmark(rowRanks = rowRanks(X, na.rm = FALSE), `apply+rank` = apply(X, MARGIN = 1L,
+ FUN = rank, na.last = "keep", ties.method = "max"), unit = "ms")
Table: Benchmarking of colRanks() and apply+rank() on double+1000x10 data. The top panel shows times in milliseconds and the bottom panel shows relative times.
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | colRanks | 0.455754 | 0.466490 | 0.5398868 | 0.510822 | 0.586950 | 1.115802 |
| 2 | apply+rank | 0.999848 | 1.019635 | 1.2088598 | 1.084075 | 1.314417 | 2.903401 |
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | colRanks | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 |
| 2 | apply+rank | 2.193833 | 2.185761 | 2.239099 | 2.122216 | 2.239402 | 2.602076 |
Table: Benchmarking of rowRanks() and apply+rank() on double+1000x10 data (transposed). The top panel shows times in milliseconds and the bottom panel shows relative times.
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | rowRanks | 0.450257 | 0.4615145 | 0.5276687 | 0.4965475 | 0.571033 | 0.797745 |
| 2 | apply+rank | 1.000383 | 1.0199325 | 1.1647766 | 1.0819950 | 1.288410 | 2.008883 |
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | rowRanks | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 |
| 2 | apply+rank | 2.221804 | 2.209969 | 2.207401 | 2.179036 | 2.256279 | 2.518202 |
Figure: Benchmarking of colRanks() and apply+rank() on double+1000x10 data as well as rowRanks() and apply+rank() on the same data transposed. Outliers are displayed as crosses. Times are in milliseconds.

Table: Benchmarking of colRanks() and rowRanks() on double+1000x10 data (original and transposed). The top panel shows times in milliseconds and the bottom panel shows relative times.
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 2 | rowRanks | 450.257 | 461.5145 | 527.6687 | 496.5475 | 571.033 | 797.745 |
| 1 | colRanks | 455.754 | 466.4900 | 539.8868 | 510.8220 | 586.950 | 1115.802 |
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 2 | rowRanks | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 |
| 1 | colRanks | 1.012209 | 1.010781 | 1.023155 | 1.028747 | 1.027874 | 1.398695 |
Figure: Benchmarking of colRanks() and rowRanks() on double+1000x10 data (original and transposed). Outliers are displayed as crosses. Times are in milliseconds.

> X <- data[["10x1000"]]
> gc()
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 5299057 283.1 7916910 422.9 7916910 422.9
Vcells 10271188 78.4 33191153 253.3 53339345 407.0
> colStats <- microbenchmark(colRanks = colRanks(X, na.rm = FALSE), `apply+rank` = apply(X, MARGIN = 2L,
+ FUN = rank, na.last = "keep", ties.method = "max"), unit = "ms")
> X <- t(X)
> gc()
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 5299051 283.0 7916910 422.9 7916910 422.9
Vcells 10281231 78.5 33191153 253.3 53339345 407.0
> rowStats <- microbenchmark(rowRanks = rowRanks(X, na.rm = FALSE), `apply+rank` = apply(X, MARGIN = 1L,
+ FUN = rank, na.last = "keep", ties.method = "max"), unit = "ms")
Table: Benchmarking of colRanks() and apply+rank() on double+10x1000 data. The top panel shows times in milliseconds and the bottom panel shows relative times.
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | colRanks | 0.21602 | 0.2321205 | 0.2636814 | 0.265966 | 0.2852145 | 0.363903 |
| 2 | apply+rank | 12.03840 | 12.9308615 | 13.8937154 | 13.319688 | 13.9276565 | 21.557732 |
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | colRanks | 1.00000 | 1.00000 | 1.00000 | 1.00000 | 1.00000 | 1.00000 |
| 2 | apply+rank | 55.72817 | 55.70754 | 52.69129 | 50.08041 | 48.83222 | 59.24032 |
Table: Benchmarking of rowRanks() and apply+rank() on double+10x1000 data (transposed). The top panel shows times in milliseconds and the bottom panel shows relative times.
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | rowRanks | 0.210906 | 0.2227695 | 0.2416568 | 0.240301 | 0.2516995 | 0.370502 |
| 2 | apply+rank | 12.049765 | 13.0592865 | 14.0012792 | 13.326721 | 14.0300215 | 20.635371 |
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | rowRanks | 1.00000 | 1.00000 | 1.0000 | 1.00000 | 1.00000 | 1.00000 |
| 2 | apply+rank | 57.13334 | 58.62242 | 57.9387 | 55.45845 | 55.74116 | 55.69571 |
Figure: Benchmarking of colRanks() and apply+rank() on double+10x1000 data as well as rowRanks() and apply+rank() on the same data transposed. Outliers are displayed as crosses. Times are in milliseconds.

Table: Benchmarking of colRanks() and rowRanks() on double+10x1000 data (original and transposed). The top panel shows times in milliseconds and the bottom panel shows relative times.
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 2 | rowRanks | 210.906 | 222.7695 | 241.6568 | 240.301 | 251.6995 | 370.502 |
| 1 | colRanks | 216.020 | 232.1205 | 263.6814 | 265.966 | 285.2145 | 363.903 |
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 2 | rowRanks | 1.000000 | 1.000000 | 1.00000 | 1.000000 | 1.000000 | 1.000000 |
| 1 | colRanks | 1.024248 | 1.041976 | 1.09114 | 1.106804 | 1.133155 | 0.982189 |
Figure: Benchmarking of colRanks() and rowRanks() on double+10x1000 data (original and transposed). Outliers are displayed as crosses. Times are in milliseconds.

> X <- data[["100x1000"]]
> gc()
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 5299253 283.1 7916910 422.9 7916910 422.9
Vcells 10271329 78.4 33191153 253.3 53339345 407.0
> colStats <- microbenchmark(colRanks = colRanks(X, na.rm = FALSE), `apply+rank` = apply(X, MARGIN = 2L,
+ FUN = rank, na.last = "keep", ties.method = "max"), unit = "ms")
> X <- t(X)
> gc()
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 5299235 283.1 7916910 422.9 7916910 422.9
Vcells 10371352 79.2 33191153 253.3 53339345 407.0
> rowStats <- microbenchmark(rowRanks = rowRanks(X, na.rm = FALSE), `apply+rank` = apply(X, MARGIN = 1L,
+ FUN = rank, na.last = "keep", ties.method = "max"), unit = "ms")
Table: Benchmarking of colRanks() and apply+rank() on double+100x1000 data. The top panel shows times in milliseconds and the bottom panel shows relative times.
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | colRanks | 3.285252 | 3.506241 | 3.670946 | 3.583366 | 3.707399 | 5.169157 |
| 2 | apply+rank | 18.454023 | 19.448328 | 21.572077 | 20.022094 | 20.704565 | 46.180803 |
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | colRanks | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.00000 | 1.000000 |
| 2 | apply+rank | 5.617232 | 5.546775 | 5.876436 | 5.587509 | 5.58466 | 8.933914 |
Table: Benchmarking of rowRanks() and apply+rank() on double+100x1000 data (transposed). The top panel shows times in milliseconds and the bottom panel shows relative times.
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | rowRanks | 3.285173 | 3.500585 | 3.633387 | 3.599173 | 3.688722 | 4.477582 |
| 2 | apply+rank | 18.254225 | 19.470502 | 21.356553 | 19.977590 | 20.607648 | 40.248971 |
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | rowRanks | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 |
| 2 | apply+rank | 5.556549 | 5.562071 | 5.877863 | 5.550606 | 5.586664 | 8.988997 |
Figure: Benchmarking of colRanks() and apply+rank() on double+100x1000 data as well as rowRanks() and apply+rank() on the same data transposed. Outliers are displayed as crosses. Times are in milliseconds.

Table: Benchmarking of colRanks() and rowRanks() on double+100x1000 data (original and transposed). The top panel shows times in milliseconds and the bottom panel shows relative times.
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | colRanks | 3.285252 | 3.506241 | 3.670946 | 3.583366 | 3.707399 | 5.169157 |
| 2 | rowRanks | 3.285173 | 3.500585 | 3.633387 | 3.599173 | 3.688722 | 4.477582 |
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | colRanks | 1.000000 | 1.0000000 | 1.0000000 | 1.000000 | 1.0000000 | 1.0000000 |
| 2 | rowRanks | 0.999976 | 0.9983869 | 0.9897687 | 1.004411 | 0.9949621 | 0.8662113 |
Figure: Benchmarking of colRanks() and rowRanks() on double+100x1000 data (original and transposed). Outliers are displayed as crosses. Times are in milliseconds.

> X <- data[["1000x100"]]
> gc()
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 5299445 283.1 7916910 422.9 7916910 422.9
Vcells 10272551 78.4 33191153 253.3 53339345 407.0
> colStats <- microbenchmark(colRanks = colRanks(X, na.rm = FALSE), `apply+rank` = apply(X, MARGIN = 2L,
+ FUN = rank, na.last = "keep", ties.method = "max"), unit = "ms")
> X <- t(X)
> gc()
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 5299427 283.1 7916910 422.9 7916910 422.9
Vcells 10372574 79.2 33191153 253.3 53339345 407.0
> rowStats <- microbenchmark(rowRanks = rowRanks(X, na.rm = FALSE), `apply+rank` = apply(X, MARGIN = 1L,
+ FUN = rank, na.last = "keep", ties.method = "max"), unit = "ms")
Table: Benchmarking of colRanks() and apply+rank() on double+1000x100 data. The top panel shows times in milliseconds and the bottom panel shows relative times.
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | colRanks | 4.525901 | 4.680152 | 5.012956 | 4.820777 | 5.161131 | 7.241011 |
| 2 | apply+rank | 9.728864 | 10.086996 | 11.287305 | 10.335541 | 11.802605 | 22.438979 |
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | colRanks | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 |
| 2 | apply+rank | 2.149597 | 2.155271 | 2.251626 | 2.143958 | 2.286825 | 3.098874 |
Table: Benchmarking of rowRanks() and apply+rank() on double+1000x100 data (transposed). The top panel shows times in milliseconds and the bottom panel shows relative times.
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | rowRanks | 4.496450 | 4.635986 | 4.855442 | 4.706527 | 4.922472 | 6.063016 |
| 2 | apply+rank | 9.869555 | 10.156695 | 10.876344 | 10.396869 | 10.573709 | 23.781323 |
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 1 | rowRanks | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 |
| 2 | apply+rank | 2.194966 | 2.190838 | 2.240032 | 2.209032 | 2.148049 | 3.922359 |
Figure: Benchmarking of colRanks() and apply+rank() on double+1000x100 data as well as rowRanks() and apply+rank() on the same data transposed. Outliers are displayed as crosses. Times are in milliseconds.

Table: Benchmarking of colRanks() and rowRanks() on double+1000x100 data (original and transposed). The top panel shows times in milliseconds and the bottom panel shows relative times.
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 2 | rowRanks | 4.496450 | 4.635986 | 4.855442 | 4.706527 | 4.922472 | 6.063016 |
| 1 | colRanks | 4.525901 | 4.680152 | 5.012956 | 4.820777 | 5.161131 | 7.241011 |
| expr | min | lq | mean | median | uq | max | |
|---|---|---|---|---|---|---|---|
| 2 | rowRanks | 1.00000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 |
| 1 | colRanks | 1.00655 | 1.009527 | 1.032441 | 1.024275 | 1.048484 | 1.194292 |
Figure: Benchmarking of colRanks() and rowRanks() on double+1000x100 data (original and transposed). Outliers are displayed as crosses. Times are in milliseconds.

R version 4.1.1 Patched (2021-08-10 r80727)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 18.04.5 LTS
Matrix products: default
BLAS: /home/hb/software/R-devel/R-4-1-branch/lib/R/lib/libRblas.so
LAPACK: /home/hb/software/R-devel/R-4-1-branch/lib/R/lib/libRlapack.so
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] microbenchmark_1.4-7 matrixStats_0.60.0 ggplot2_3.3.5
[4] knitr_1.33 R.devices_2.17.0 R.utils_2.10.1
[7] R.oo_1.24.0 R.methodsS3_1.8.1-9001 history_0.0.1-9000
loaded via a namespace (and not attached):
[1] Biobase_2.52.0 httr_1.4.2 splines_4.1.1
[4] bit64_4.0.5 network_1.17.1 assertthat_0.2.1
[7] highr_0.9 stats4_4.1.1 blob_1.2.2
[10] GenomeInfoDbData_1.2.6 robustbase_0.93-8 pillar_1.6.2
[13] RSQLite_2.2.8 lattice_0.20-44 glue_1.4.2
[16] digest_0.6.27 XVector_0.32.0 colorspace_2.0-2
[19] Matrix_1.3-4 XML_3.99-0.7 pkgconfig_2.0.3
[22] zlibbioc_1.38.0 genefilter_1.74.0 purrr_0.3.4
[25] ergm_4.1.2 xtable_1.8-4 scales_1.1.1
[28] tibble_3.1.4 annotate_1.70.0 KEGGREST_1.32.0
[31] farver_2.1.0 generics_0.1.0 IRanges_2.26.0
[34] ellipsis_0.3.2 cachem_1.0.6 withr_2.4.2
[37] BiocGenerics_0.38.0 mime_0.11 survival_3.2-13
[40] magrittr_2.0.1 crayon_1.4.1 statnet.common_4.5.0
[43] memoise_2.0.0 laeken_0.5.1 fansi_0.5.0
[46] R.cache_0.15.0 MASS_7.3-54 R.rsp_0.44.0
[49] progressr_0.8.0 tools_4.1.1 lifecycle_1.0.0
[52] S4Vectors_0.30.0 trust_0.1-8 munsell_0.5.0
[55] tabby_0.0.1-9001 AnnotationDbi_1.54.1 Biostrings_2.60.2
[58] compiler_4.1.1 GenomeInfoDb_1.28.1 rlang_0.4.11
[61] grid_4.1.1 RCurl_1.98-1.4 cwhmisc_6.6
[64] rstudioapi_0.13 rappdirs_0.3.3 startup_0.15.0
[67] labeling_0.4.2 bitops_1.0-7 base64enc_0.1-3
[70] boot_1.3-28 gtable_0.3.0 DBI_1.1.1
[73] markdown_1.1 R6_2.5.1 lpSolveAPI_5.5.2.0-17.7
[76] rle_0.9.2 dplyr_1.0.7 fastmap_1.1.0
[79] bit_4.0.4 utf8_1.2.2 parallel_4.1.1
[82] Rcpp_1.0.7 vctrs_0.3.8 png_0.1-7
[85] DEoptimR_1.0-9 tidyselect_1.1.1 xfun_0.25
[88] coda_0.19-4
Total processing time was 48.36 secs.
To reproduce this report, do:
html <- matrixStats:::benchmark('colRanks')
Copyright Henrik Bengtsson. Last updated on 2021-08-25 22:29:07 (+0200 UTC). Powered by RSP.