>X<-data[["10x10"]]
> gc()
used (Mb) gc trigger (Mb) max used (Mb)
Ncells3193853170.65709258305.05709258305.0Vcells646821949.422343563170.556666022432.4>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)
Ncells3192173170.55709258305.05709258305.0Vcells646330749.422343563170.556666022432.4>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.009151
0.0102300
0.0131554
0.0127835
0.014636
0.045409
2
apply+rank
0.156443
0.1608635
0.1730241
0.1640870
0.169303
0.321996
expr
min
lq
mean
median
uq
max
1
colRanks
1.00000
1.00000
1.00000
1.00000
1.00000
1.000000
2
apply+rank
17.09573
15.72468
13.15227
12.83584
11.56757
7.091017
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.003241
0.0039220
0.0051267
0.0053805
0.0057575
0.017792
2
apply+rank
0.120576
0.1234595
0.1295284
0.1247940
0.1274035
0.233164
expr
min
lq
mean
median
uq
max
1
rowRanks
1.00000
1.00000
1.00000
1.00000
1.00000
1.00000
2
apply+rank
37.20333
31.47871
25.26555
23.19376
22.12827
13.10499
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
3.241
3.922
5.12668
5.3805
5.7575
17.792
1
colRanks
9.151
10.230
13.15545
12.7835
14.6360
45.409
expr
min
lq
mean
median
uq
max
2
rowRanks
1.000000
1.000000
1.000000
1.000000
1.000000
1.000000
1
colRanks
2.823511
2.608363
2.566076
2.375894
2.542076
2.552214
Figure: Benchmarking of colRanks() and rowRanks() on integer+10x10 data (original and transposed). Outliers are displayed as crosses. Times are in milliseconds.
100x100 integer matrix
>X<-data[["100x100"]]
> gc()
used (Mb) gc trigger (Mb) max used (Mb)
Ncells3190729170.55709258305.05709258305.0Vcells607981346.422343563170.556666022432.4>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)
Ncells3190720170.55709258305.05709258305.0Vcells608485146.522343563170.556666022432.4>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.312976
0.3156005
0.3214385
0.3220275
0.3247015
0.384026
2
apply+rank
1.651695
1.6822950
1.6998098
1.6904005
1.7038450
1.947765
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.277386
5.330457
5.288133
5.249243
5.24742
5.071961
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.297921
0.299919
0.3046728
0.3034425
0.3086655
0.325643
2
apply+rank
1.655421
1.676748
1.6957418
1.6888720
1.7049320
1.990512
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.556577
5.590669
5.565779
5.565707
5.523559
6.112559
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
297.921
299.9190
304.6728
303.4425
308.6655
325.643
1
colRanks
312.976
315.6005
321.4385
322.0275
324.7015
384.026
expr
min
lq
mean
median
uq
max
2
rowRanks
1.000000
1.000000
1.000000
1.000000
1.000000
1.000000
1
colRanks
1.050534
1.052286
1.055028
1.061247
1.051953
1.179285
Figure: Benchmarking of colRanks() and rowRanks() on integer+100x100 data (original and transposed). Outliers are displayed as crosses. Times are in milliseconds.
1000x10 integer matrix
>X<-data[["1000x10"]]
> gc()
used (Mb) gc trigger (Mb) max used (Mb)
Ncells3191456170.55709258305.05709258305.0Vcells608331946.522343563170.556666022432.4>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)
Ncells3191450170.55709258305.05709258305.0Vcells608836246.522343563170.556666022432.4>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.385546
0.390501
0.3954847
0.3957785
0.3983605
0.451537
2
apply+rank
1.028308
1.037556
1.0488994
1.0498740
1.0549680
1.132388
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.667147
2.656988
2.652187
2.652681
2.648275
2.507852
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.375090
0.3784755
0.3875547
0.383650
0.385605
0.531404
2
apply+rank
1.028457
1.0436115
1.0878877
1.052121
1.065198
1.618831
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.741894
2.757408
2.807056
2.742399
2.762406
3.046328
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
375.090
378.4755
387.5547
383.6500
385.6050
531.404
1
colRanks
385.546
390.5010
395.4847
395.7785
398.3605
451.537
expr
min
lq
mean
median
uq
max
2
rowRanks
1.000000
1.000000
1.000000
1.000000
1.000000
1.0000000
1
colRanks
1.027876
1.031773
1.020462
1.031613
1.033079
0.8497057
Figure: Benchmarking of colRanks() and rowRanks() on integer+1000x10 data (original and transposed). Outliers are displayed as crosses. Times are in milliseconds.
10x1000 integer matrix
>X<-data[["10x1000"]]
> gc()
used (Mb) gc trigger (Mb) max used (Mb)
Ncells3191647170.55709258305.05709258305.0Vcells608400846.522343563170.556666022432.4>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)
Ncells3191638170.55709258305.05709258305.0Vcells608904646.522343563170.556666022432.4>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.203743
0.2094645
0.2294692
0.2264965
0.2401895
0.340512
2
apply+rank
10.201566
10.4951780
11.3892725
10.6452085
11.2344635
26.840616
expr
min
lq
mean
median
uq
max
1
colRanks
1.00000
1.00000
1.00000
1.00000
1.00000
1.00000
2
apply+rank
50.07076
50.10481
49.63312
46.99944
46.77333
78.82429
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.185777
0.190884
0.202331
0.200224
0.210046
0.257102
2
apply+rank
10.248381
10.555267
11.289273
10.768982
11.236743
18.301513
expr
min
lq
mean
median
uq
max
1
rowRanks
1.00000
1.00000
1.00000
1.00000
1.00000
1.00000
2
apply+rank
55.16496
55.29676
55.79606
53.78467
53.49658
71.18386
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.777
190.8840
202.3310
200.2240
210.0460
257.102
1
colRanks
203.743
209.4645
229.4692
226.4965
240.1895
340.512
expr
min
lq
mean
median
uq
max
2
rowRanks
1.000000
1.000000
1.000000
1.000000
1.000000
1.000000
1
colRanks
1.096707
1.097339
1.134128
1.131215
1.143509
1.324424
Figure: Benchmarking of colRanks() and rowRanks() on integer+10x1000 data (original and transposed). Outliers are displayed as crosses. Times are in milliseconds.
100x1000 integer matrix
>X<-data[["100x1000"]]
> gc()
used (Mb) gc trigger (Mb) max used (Mb)
Ncells3191828170.55709258305.05709258305.0Vcells608449446.522343563170.556666022432.4>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)
Ncells3191822170.55709258305.05709258305.0Vcells613453746.922343563170.556666022432.4>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.077105
3.118673
3.160381
3.147074
3.209983
3.336213
2
apply+rank
16.456213
16.686357
17.977450
16.921699
17.188270
33.735491
expr
min
lq
mean
median
uq
max
1
colRanks
1.000000
1.000000
1.000000
1.000000
1.00000
1.00000
2
apply+rank
5.347953
5.350468
5.688381
5.376962
5.35463
10.11191
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
2.974055
3.029072
3.106812
3.067885
3.121558
3.751149
2
apply+rank
16.474844
16.808226
18.051511
17.006084
17.240157
33.977104
expr
min
lq
mean
median
uq
max
1
rowRanks
1.000000
1.000000
1.000000
1.00000
1.000000
1.000000
2
apply+rank
5.539522
5.548969
5.810301
5.54326
5.522932
9.057786
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
2.974055
3.029072
3.106812
3.067885
3.121558
3.751149
1
colRanks
3.077105
3.118673
3.160381
3.147074
3.209983
3.336213
expr
min
lq
mean
median
uq
max
2
rowRanks
1.00000
1.00000
1.000000
1.000000
1.000000
1.0000000
1
colRanks
1.03465
1.02958
1.017243
1.025812
1.028327
0.8893843
Figure: Benchmarking of colRanks() and rowRanks() on integer+100x1000 data (original and transposed). Outliers are displayed as crosses. Times are in milliseconds.
1000x100 integer matrix
>X<-data[["1000x100"]]
> gc()
used (Mb) gc trigger (Mb) max used (Mb)
Ncells3192020170.55709258305.05709258305.0Vcells608506246.522343563170.556666022432.4>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)
Ncells3192014170.55709258305.05709258305.0Vcells613510546.922343563170.556666022432.4>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.823106
3.841194
4.094267
3.853652
3.931769
12.78651
2
apply+rank
9.965379
10.026457
10.396685
10.086535
10.236059
18.43050
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.606619
2.610245
2.539327
2.617396
2.603423
1.441402
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.732511
3.744989
3.850598
3.753887
3.818224
5.680193
2
apply+rank
9.978090
10.038864
10.717244
10.103415
10.296952
19.265572
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.673291
2.680612
2.783268
2.691455
2.696791
3.391711
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.732511
3.744989
3.850598
3.753887
3.818224
5.680193
1
colRanks
3.823106
3.841194
4.094267
3.853652
3.931769
12.786509
expr
min
lq
mean
median
uq
max
2
rowRanks
1.000000
1.000000
1.000000
1.000000
1.000000
1.000000
1
colRanks
1.024272
1.025689
1.063281
1.026577
1.029738
2.251069
Figure: Benchmarking of colRanks() and rowRanks() on integer+1000x100 data (original and transposed). Outliers are displayed as crosses. Times are in milliseconds.
>X<-data[["10x10"]]
> gc()
used (Mb) gc trigger (Mb) max used (Mb)
Ncells3192231170.55709258305.05709258305.0Vcells620143347.422343563170.556666022432.4>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)
Ncells3192213170.55709258305.05709258305.0Vcells620155647.422343563170.556666022432.4>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.006912
0.0075880
0.0093864
0.0084405
0.010515
0.036475
2
apply+rank
0.122983
0.1254835
0.1282255
0.1265915
0.128378
0.239726
expr
min
lq
mean
median
uq
max
1
colRanks
1.00000
1.0000
1.00000
1.0000
1.00000
1.000000
2
apply+rank
17.79268
16.5371
13.66078
14.9981
12.20903
6.572337
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.002952
0.003937
0.0048741
0.0050595
0.0053925
0.019921
2
apply+rank
0.119666
0.122002
0.1256963
0.1242670
0.1259480
0.256685
expr
min
lq
mean
median
uq
max
1
rowRanks
1.00000
1.00000
1.00000
1.00000
1.00000
1.00000
2
apply+rank
40.53726
30.98857
25.78873
24.56112
23.35614
12.88515
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
2.952
3.937
4.87408
5.0595
5.3925
19.921
1
colRanks
6.912
7.588
9.38640
8.4405
10.5150
36.475
expr
min
lq
mean
median
uq
max
2
rowRanks
1.000000
1.000000
1.000000
1.000000
1.000000
1.000000
1
colRanks
2.341463
1.927356
1.925779
1.668248
1.949931
1.830982
Figure: Benchmarking of colRanks() and rowRanks() on double+10x10 data (original and transposed). Outliers are displayed as crosses. Times are in milliseconds.
100x100 double matrix
>X<-data[["100x100"]]
> gc()
used (Mb) gc trigger (Mb) max used (Mb)
Ncells3192411170.55709258305.05709258305.0Vcells620154547.422343563170.556666022432.4>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)
Ncells3192402170.55709258305.05709258305.0Vcells621158347.422343563170.556666022432.4>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.327309
0.3451305
0.3493351
0.3483775
0.354750
0.399367
2
apply+rank
1.703618
1.7740350
1.7936778
1.7950170
1.809705
1.966386
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.204923
5.140186
5.134548
5.152506
5.101355
4.923757
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.318951
0.336027
0.3383823
0.339328
0.3449145
0.349451
2
apply+rank
1.670506
1.715305
1.7441626
1.744661
1.7595735
2.233143
expr
min
lq
mean
median
uq
max
1
rowRanks
1.0000
1.000000
1.000000
1.000000
1.000000
1.000000
2
apply+rank
5.2375
5.104666
5.154414
5.141518
5.101477
6.390432
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
318.951
336.0270
338.3823
339.3280
344.9145
349.451
1
colRanks
327.309
345.1305
349.3351
348.3775
354.7500
399.367
expr
min
lq
mean
median
uq
max
2
rowRanks
1.000000
1.000000
1.000000
1.000000
1.000000
1.000000
1
colRanks
1.026205
1.027092
1.032368
1.026669
1.028516
1.142841
Figure: Benchmarking of colRanks() and rowRanks() on double+100x100 data (original and transposed). Outliers are displayed as crosses. Times are in milliseconds.
1000x10 double matrix
>X<-data[["1000x10"]]
> gc()
used (Mb) gc trigger (Mb) max used (Mb)
Ncells3192598170.65709258305.05709258305.0Vcells620242947.422343563170.556666022432.4>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)
Ncells3192592170.65709258305.05709258305.0Vcells621247247.422343563170.556666022432.4>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.449337
0.4574915
0.4679399
0.467756
0.4776545
0.507614
2
apply+rank
1.039772
1.0547325
1.0687176
1.066174
1.0822980
1.123068
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.314014
2.305469
2.283878
2.279338
2.265859
2.212445
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.445564
0.453902
0.4600217
0.4593425
0.4660655
0.489765
2
apply+rank
0.988491
1.008866
1.0186755
1.0154935
1.0262895
1.101602
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.218516
2.222652
2.214407
2.210755
2.202028
2.249246
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
445.564
453.9020
460.0217
459.3425
466.0655
489.765
1
colRanks
449.337
457.4915
467.9399
467.7560
477.6545
507.614
expr
min
lq
mean
median
uq
max
2
rowRanks
1.000000
1.000000
1.000000
1.000000
1.000000
1.000000
1
colRanks
1.008468
1.007908
1.017213
1.018316
1.024866
1.036444
Figure: Benchmarking of colRanks() and rowRanks() on double+1000x10 data (original and transposed). Outliers are displayed as crosses. Times are in milliseconds.
10x1000 double matrix
>X<-data[["10x1000"]]
> gc()
used (Mb) gc trigger (Mb) max used (Mb)
Ncells3192789170.65709258305.05709258305.0Vcells620346747.422343563170.556666022432.4>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)
Ncells3192780170.65709258305.05709258305.0Vcells621350547.522343563170.556666022432.4>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.2075
0.218528
0.2355714
0.2361095
0.2485725
0.296547
2
apply+rank
10.3790
10.911312
11.7866420
11.3245100
11.6416920
28.030995
expr
min
lq
mean
median
uq
max
1
colRanks
1.00000
1.00000
1.00000
1.00000
1.00000
1.00000
2
apply+rank
50.01928
49.93096
50.03427
47.96296
46.83419
94.52463
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.194874
0.2075985
0.2192731
0.2144825
0.2250525
0.326257
2
apply+rank
10.172275
10.9990000
12.0164536
11.4397480
11.9099350
19.626885
expr
min
lq
mean
median
uq
max
1
rowRanks
1.00000
1.00000
1.0000
1.00000
1.0000
1.00000
2
apply+rank
52.19924
52.98208
54.8013
53.33651
52.9207
60.15774
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
194.874
207.5985
219.2731
214.4825
225.0525
326.257
1
colRanks
207.500
218.5280
235.5714
236.1095
248.5725
296.547
expr
min
lq
mean
median
uq
max
2
rowRanks
1.000000
1.000000
1.000000
1.000000
1.000000
1.0000000
1
colRanks
1.064791
1.052647
1.074329
1.100833
1.104509
0.9089368
Figure: Benchmarking of colRanks() and rowRanks() on double+10x1000 data (original and transposed). Outliers are displayed as crosses. Times are in milliseconds.
100x1000 double matrix
>X<-data[["100x1000"]]
> gc()
used (Mb) gc trigger (Mb) max used (Mb)
Ncells3192970170.65709258305.05709258305.0Vcells620358347.422343563170.556666022432.4>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)
Ncells3192964170.65709258305.05709258305.0Vcells630362648.122343563170.556666022432.4>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.214433
3.420603
3.463363
3.465956
3.523589
3.664443
2
apply+rank
17.136738
17.997701
19.274386
18.223185
18.519274
36.069326
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.331185
5.261558
5.565223
5.257765
5.255798
9.843058
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.169005
3.355858
3.478543
3.442334
3.512765
5.077613
2
apply+rank
16.795541
17.470779
21.270506
17.734878
18.130592
277.089230
expr
min
lq
mean
median
uq
max
1
rowRanks
1.000000
1.000000
1.000000
1.000000
1.000000
1.00000
2
apply+rank
5.299942
5.206054
6.114774
5.151993
5.161345
54.57077
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
2
rowRanks
3.169005
3.355858
3.478543
3.442334
3.512765
5.077613
1
colRanks
3.214433
3.420603
3.463363
3.465956
3.523589
3.664443
expr
min
lq
mean
median
uq
max
2
rowRanks
1.000000
1.000000
1.000000
1.000000
1.000000
1.0000000
1
colRanks
1.014335
1.019293
0.995636
1.006862
1.003081
0.7216862
Figure: Benchmarking of colRanks() and rowRanks() on double+100x1000 data (original and transposed). Outliers are displayed as crosses. Times are in milliseconds.
1000x100 double matrix
>X<-data[["1000x100"]]
> gc()
used (Mb) gc trigger (Mb) max used (Mb)
Ncells3193162170.65709258305.05709258305.0Vcells620480247.422343563170.556666022432.4>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)
Ncells3193156170.65709258305.05709258305.0Vcells630484548.222343563170.556666022432.4>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.456471
4.632466
4.815742
4.727482
4.752999
13.35861
2
apply+rank
9.657767
10.056055
10.502975
10.114044
10.181708
19.44552
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.167133
2.170778
2.180967
2.139414
2.142165
1.455655
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.417688
4.538609
4.658729
4.651197
4.68947
5.660156
2
apply+rank
9.713633
10.009710
10.574110
10.146669
10.19068
19.566589
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.198805
2.205457
2.269742
2.181518
2.173098
3.456899
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.417688
4.538609
4.658729
4.651197
4.689470
5.660156
1
colRanks
4.456471
4.632466
4.815742
4.727482
4.752999
13.358608
expr
min
lq
mean
median
uq
max
2
rowRanks
1.000000
1.000000
1.000000
1.000000
1.000000
1.000000
1
colRanks
1.008779
1.020679
1.033703
1.016401
1.013547
2.360113
Figure: Benchmarking of colRanks() and rowRanks() on double+1000x100 data (original and transposed). Outliers are displayed as crosses. Times are in milliseconds.