Table: Benchmarking of colProds_X_S w/ direct(), colProds_X_S w/ expSumLog(), colProds(X, rows, cols) w/ direct(), colProds(X, rows, cols) w/ expSumLog(), colProds(X[rows, cols]) w/ direct() and colProds(X[rows, cols]) w/ expSumLog() on 10x10 data. The top panel shows times in milliseconds and the bottom panel shows relative times.
expr
min
lq
mean
median
uq
max
1
colProds_X_S w/ direct
0.006574
0.0069430
0.0071247
0.0070850
0.0072895
0.008511
5
colProds(X[rows, cols]) w/ direct
0.007490
0.0078390
0.0098292
0.0080165
0.0082475
0.178016
3
colProds(X, rows, cols) w/ direct
0.007582
0.0079545
0.0082020
0.0080875
0.0082220
0.013044
2
colProds_X_S w/ expSumLog
0.010022
0.0102775
0.0105636
0.0104185
0.0106050
0.014128
4
colProds(X, rows, cols) w/ expSumLog
0.010984
0.0112670
0.0114605
0.0114155
0.0116115
0.012152
6
colProds(X[rows, cols]) w/ expSumLog
0.011065
0.0112560
0.0119108
0.0114400
0.0116870
0.047841
expr
min
lq
mean
median
uq
max
1
colProds_X_S w/ direct
1.000000
1.000000
1.000000
1.000000
1.000000
1.000000
5
colProds(X[rows, cols]) w/ direct
1.139337
1.129051
1.379586
1.131475
1.131422
20.915991
3
colProds(X, rows, cols) w/ direct
1.153331
1.145686
1.151204
1.141496
1.127924
1.532605
2
colProds_X_S w/ expSumLog
1.524490
1.480268
1.482663
1.470501
1.454832
1.659970
4
colProds(X, rows, cols) w/ expSumLog
1.670824
1.622785
1.608546
1.611221
1.592908
1.427799
6
colProds(X[rows, cols]) w/ expSumLog
1.683146
1.621201
1.671754
1.614679
1.603265
5.621079
Table: Benchmarking of rowProds_X_S w/ direct(), rowProds_X_S w/ expSumLog(), rowProds(X, cols, rows) w/ direct(), rowProds(X, cols, rows) w/ expSumLog(), rowProds(X[cols, rows]) w/ direct() and rowProds(X[cols, rows]) w/ expSumLog() on 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
rowProds_X_S w/ direct
0.006738
0.0070710
0.0073595
0.0072715
0.0074905
0.011981
3
rowProds(X, cols, rows) w/ direct
0.007482
0.0078915
0.0081667
0.0081400
0.0082800
0.012108
5
rowProds(X[cols, rows]) w/ direct
0.007543
0.0078915
0.0082164
0.0081600
0.0083070
0.014121
2
rowProds_X_S w/ expSumLog
0.010219
0.0105890
0.0108469
0.0107545
0.0108770
0.014269
6
rowProds(X[cols, rows]) w/ expSumLog
0.010938
0.0113800
0.0116240
0.0115955
0.0118485
0.012620
4
rowProds(X, cols, rows) w/ expSumLog
0.010934
0.0114195
0.0135372
0.0116845
0.0119265
0.197744
expr
min
lq
mean
median
uq
max
1
rowProds_X_S w/ direct
1.000000
1.000000
1.000000
1.000000
1.000000
1.000000
3
rowProds(X, cols, rows) w/ direct
1.110418
1.116037
1.109678
1.119439
1.105400
1.010600
5
rowProds(X[cols, rows]) w/ direct
1.119472
1.116037
1.116431
1.122189
1.109005
1.178616
2
rowProds_X_S w/ expSumLog
1.516622
1.497525
1.473852
1.478993
1.452106
1.190969
6
rowProds(X[cols, rows]) w/ expSumLog
1.623330
1.609390
1.579444
1.594650
1.581804
1.053334
4
rowProds(X, cols, rows) w/ expSumLog
1.622737
1.614977
1.839410
1.606890
1.592217
16.504799
Figure: Benchmarking of colProds_X_S w/ direct(), colProds_X_S w/ expSumLog(), colProds(X, rows, cols) w/ direct(), colProds(X, rows, cols) w/ expSumLog(), colProds(X[rows, cols]) w/ direct() and colProds(X[rows, cols]) w/ expSumLog() on 10x10 data as well as rowProds_X_S w/ direct(), rowProds_X_S w/ expSumLog(), rowProds(X, cols, rows) w/ direct(), rowProds(X, cols, rows) w/ expSumLog(), rowProds(X[cols, rows]) w/ direct() and rowProds(X[cols, rows]) w/ expSumLog() on the same data transposed. Outliers are displayed as crosses. Times are in milliseconds.
Table: Benchmarking of colProds_X_S w/ direct() and rowProds_X_S w/ direct() on 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
1
colProds_X_S w/ direct
6.574
6.943
7.12474
7.0850
7.2895
8.511
2
rowProds_X_S w/ direct
6.738
7.071
7.35954
7.2715
7.4905
11.981
expr
min
lq
mean
median
uq
max
1
colProds_X_S w/ direct
1.000000
1.000000
1.000000
1.000000
1.000000
1.000000
2
rowProds_X_S w/ direct
1.024947
1.018436
1.032956
1.026323
1.027574
1.407708
Figure: Benchmarking of colProds_X_S w/ direct() and rowProds_X_S w/ direct() on 10x10 data (original and transposed). Outliers are displayed as crosses. Times are in milliseconds.
Table: Benchmarking of colProds_X_S w/ direct(), colProds_X_S w/ expSumLog(), colProds(X, rows, cols) w/ direct(), colProds(X, rows, cols) w/ expSumLog(), colProds(X[rows, cols]) w/ direct() and colProds(X[rows, cols]) w/ expSumLog() on 100x100 data. The top panel shows times in milliseconds and the bottom panel shows relative times.
expr
min
lq
mean
median
uq
max
1
colProds_X_S w/ direct
0.062196
0.0635055
0.0650804
0.0641395
0.0648185
0.084518
3
colProds(X, rows, cols) w/ direct
0.077699
0.0792800
0.0811228
0.0801055
0.0807855
0.116971
5
colProds(X[rows, cols]) w/ direct
0.078160
0.0794085
0.0816097
0.0802020
0.0807760
0.163951
2
colProds_X_S w/ expSumLog
0.191173
0.1932180
0.1959093
0.1947870
0.1960110
0.239191
4
colProds(X, rows, cols) w/ expSumLog
0.206916
0.2091165
0.2123489
0.2102570
0.2128055
0.265087
6
colProds(X[rows, cols]) w/ expSumLog
0.207142
0.2091545
0.2127304
0.2105520
0.2135045
0.244942
expr
min
lq
mean
median
uq
max
1
colProds_X_S w/ direct
1.000000
1.000000
1.000000
1.000000
1.000000
1.000000
3
colProds(X, rows, cols) w/ direct
1.249260
1.248396
1.246501
1.248926
1.246334
1.383977
5
colProds(X[rows, cols]) w/ direct
1.256673
1.250419
1.253981
1.250431
1.246187
1.939835
2
colProds_X_S w/ expSumLog
3.073719
3.042540
3.010263
3.036927
3.023998
2.830060
4
colProds(X, rows, cols) w/ expSumLog
3.326838
3.292888
3.262868
3.278120
3.283098
3.136456
6
colProds(X[rows, cols]) w/ expSumLog
3.330471
3.293486
3.268730
3.282720
3.293882
2.898105
Table: Benchmarking of rowProds_X_S w/ direct(), rowProds_X_S w/ expSumLog(), rowProds(X, cols, rows) w/ direct(), rowProds(X, cols, rows) w/ expSumLog(), rowProds(X[cols, rows]) w/ direct() and rowProds(X[cols, rows]) w/ expSumLog() on 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
rowProds_X_S w/ direct
0.071789
0.0730110
0.0753321
0.0741165
0.0756955
0.124923
3
rowProds(X, cols, rows) w/ direct
0.079491
0.0810540
0.0834618
0.0820715
0.0827545
0.117377
5
rowProds(X[cols, rows]) w/ direct
0.080014
0.0812495
0.0830881
0.0822250
0.0831610
0.115756
2
rowProds_X_S w/ expSumLog
0.202001
0.2034850
0.2056392
0.2043945
0.2056835
0.238712
4
rowProds(X, cols, rows) w/ expSumLog
0.209985
0.2118575
0.2183014
0.2131770
0.2162840
0.457109
6
rowProds(X[cols, rows]) w/ expSumLog
0.209854
0.2120685
0.2172871
0.2132150
0.2153450
0.406702
expr
min
lq
mean
median
uq
max
1
rowProds_X_S w/ direct
1.000000
1.000000
1.000000
1.000000
1.000000
1.0000000
3
rowProds(X, cols, rows) w/ direct
1.107287
1.110162
1.107919
1.107331
1.093255
0.9395948
5
rowProds(X[cols, rows]) w/ direct
1.114572
1.112839
1.102957
1.109402
1.098625
0.9266188
2
rowProds_X_S w/ expSumLog
2.813816
2.787046
2.729768
2.757746
2.717249
1.9108731
4
rowProds(X, cols, rows) w/ expSumLog
2.925030
2.901720
2.897853
2.876242
2.857290
3.6591260
6
rowProds(X[cols, rows]) w/ expSumLog
2.923205
2.904610
2.884388
2.876755
2.844885
3.2556215
Figure: Benchmarking of colProds_X_S w/ direct(), colProds_X_S w/ expSumLog(), colProds(X, rows, cols) w/ direct(), colProds(X, rows, cols) w/ expSumLog(), colProds(X[rows, cols]) w/ direct() and colProds(X[rows, cols]) w/ expSumLog() on 100x100 data as well as rowProds_X_S w/ direct(), rowProds_X_S w/ expSumLog(), rowProds(X, cols, rows) w/ direct(), rowProds(X, cols, rows) w/ expSumLog(), rowProds(X[cols, rows]) w/ direct() and rowProds(X[cols, rows]) w/ expSumLog() on the same data transposed. Outliers are displayed as crosses. Times are in milliseconds.
Table: Benchmarking of colProds_X_S w/ direct() and rowProds_X_S w/ direct() on 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
1
colProds_X_S w/ direct
62.196
63.5055
65.08045
64.1395
64.8185
84.518
2
rowProds_X_S w/ direct
71.789
73.0110
75.33212
74.1165
75.6955
124.923
expr
min
lq
mean
median
uq
max
1
colProds_X_S w/ direct
1.000000
1.00000
1.000000
1.000000
1.000000
1.000000
2
rowProds_X_S w/ direct
1.154238
1.14968
1.157523
1.155552
1.167807
1.478064
Figure: Benchmarking of colProds_X_S w/ direct() and rowProds_X_S w/ direct() on 100x100 data (original and transposed). Outliers are displayed as crosses. Times are in milliseconds.
Table: Benchmarking of colProds_X_S w/ direct(), colProds_X_S w/ expSumLog(), colProds(X, rows, cols) w/ direct(), colProds(X, rows, cols) w/ expSumLog(), colProds(X[rows, cols]) w/ direct() and colProds(X[rows, cols]) w/ expSumLog() on 1000x10 data. The top panel shows times in milliseconds and the bottom panel shows relative times.
expr
min
lq
mean
median
uq
max
1
colProds_X_S w/ direct
0.022963
0.0237295
0.0245293
0.0241340
0.0250465
0.028994
3
colProds(X, rows, cols) w/ direct
0.038542
0.0392830
0.0402477
0.0398760
0.0410090
0.045312
5
colProds(X[rows, cols]) w/ direct
0.038777
0.0396855
0.0408819
0.0402965
0.0414080
0.057943
2
colProds_X_S w/ expSumLog
0.125332
0.1266020
0.1278879
0.1273435
0.1282895
0.143566
4
colProds(X, rows, cols) w/ expSumLog
0.141464
0.1425290
0.1444206
0.1431545
0.1443785
0.219443
6
colProds(X[rows, cols]) w/ expSumLog
0.141303
0.1425760
0.1438359
0.1433560
0.1445395
0.152871
expr
min
lq
mean
median
uq
max
1
colProds_X_S w/ direct
1.000000
1.000000
1.000000
1.000000
1.000000
1.000000
3
colProds(X, rows, cols) w/ direct
1.678439
1.655450
1.640804
1.652275
1.637315
1.562806
5
colProds(X[rows, cols]) w/ direct
1.688673
1.672412
1.666657
1.669698
1.653245
1.998448
2
colProds_X_S w/ expSumLog
5.457998
5.335216
5.213683
5.276519
5.122053
4.951576
4
colProds(X, rows, cols) w/ expSumLog
6.160519
6.006405
5.887681
5.931652
5.764418
7.568566
6
colProds(X[rows, cols]) w/ expSumLog
6.153508
6.008386
5.863846
5.940002
5.770846
5.272505
Table: Benchmarking of rowProds_X_S w/ direct(), rowProds_X_S w/ expSumLog(), rowProds(X, cols, rows) w/ direct(), rowProds(X, cols, rows) w/ expSumLog(), rowProds(X[cols, rows]) w/ direct() and rowProds(X[cols, rows]) w/ expSumLog() on 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
rowProds_X_S w/ direct
0.031138
0.0321060
0.0329588
0.0326445
0.0336135
0.036702
5
rowProds(X[cols, rows]) w/ direct
0.041048
0.0420770
0.0430687
0.0426585
0.0439805
0.047612
3
rowProds(X, cols, rows) w/ direct
0.040562
0.0421290
0.0432120
0.0428770
0.0440485
0.049557
2
rowProds_X_S w/ expSumLog
0.135012
0.1359125
0.1369962
0.1364410
0.1377280
0.144627
4
rowProds(X, cols, rows) w/ expSumLog
0.144450
0.1457700
0.1468335
0.1463025
0.1476310
0.153840
6
rowProds(X[cols, rows]) w/ expSumLog
0.144599
0.1459545
0.1479288
0.1466095
0.1478550
0.240112
expr
min
lq
mean
median
uq
max
1
rowProds_X_S w/ direct
1.000000
1.000000
1.000000
1.000000
1.000000
1.000000
5
rowProds(X[cols, rows]) w/ direct
1.318261
1.310565
1.306744
1.306759
1.308418
1.297259
3
rowProds(X, cols, rows) w/ direct
1.302653
1.312185
1.311092
1.313452
1.310441
1.350253
2
rowProds_X_S w/ expSumLog
4.335924
4.233243
4.156595
4.179602
4.097401
3.940575
4
rowProds(X, cols, rows) w/ expSumLog
4.639026
4.540273
4.455068
4.481689
4.392015
4.191597
6
rowProds(X[cols, rows]) w/ expSumLog
4.643811
4.546019
4.488302
4.491093
4.398679
6.542205
Figure: Benchmarking of colProds_X_S w/ direct(), colProds_X_S w/ expSumLog(), colProds(X, rows, cols) w/ direct(), colProds(X, rows, cols) w/ expSumLog(), colProds(X[rows, cols]) w/ direct() and colProds(X[rows, cols]) w/ expSumLog() on 1000x10 data as well as rowProds_X_S w/ direct(), rowProds_X_S w/ expSumLog(), rowProds(X, cols, rows) w/ direct(), rowProds(X, cols, rows) w/ expSumLog(), rowProds(X[cols, rows]) w/ direct() and rowProds(X[cols, rows]) w/ expSumLog() on the same data transposed. Outliers are displayed as crosses. Times are in milliseconds.
Table: Benchmarking of colProds_X_S w/ direct() and rowProds_X_S w/ direct() on 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
1
colProds_X_S w/ direct
22.963
23.7295
24.52928
24.1340
25.0465
28.994
2
rowProds_X_S w/ direct
31.138
32.1060
32.95875
32.6445
33.6135
36.702
expr
min
lq
mean
median
uq
max
1
colProds_X_S w/ direct
1.000000
1.000000
1.000000
1.000000
1.000000
1.000000
2
rowProds_X_S w/ direct
1.356008
1.352999
1.343649
1.352635
1.342044
1.265848
Figure: Benchmarking of colProds_X_S w/ direct() and rowProds_X_S w/ direct() on 1000x10 data (original and transposed). Outliers are displayed as crosses. Times are in milliseconds.
Table: Benchmarking of colProds_X_S w/ direct(), colProds_X_S w/ expSumLog(), colProds(X, rows, cols) w/ direct(), colProds(X, rows, cols) w/ expSumLog(), colProds(X[rows, cols]) w/ direct() and colProds(X[rows, cols]) w/ expSumLog() on 10x1000 data. The top panel shows times in milliseconds and the bottom panel shows relative times.
expr
min
lq
mean
median
uq
max
1
colProds_X_S w/ direct
0.443144
0.4702645
0.5371574
0.4830220
0.5036900
5.569495
5
colProds(X[rows, cols]) w/ direct
0.452201
0.4738010
0.4949254
0.4923220
0.5074575
0.657085
3
colProds(X, rows, cols) w/ direct
0.455445
0.4838360
0.5032810
0.4990385
0.5137115
0.602106
2
colProds_X_S w/ expSumLog
0.805423
0.8385925
0.9264479
0.8658590
0.8941155
5.947703
6
colProds(X[rows, cols]) w/ expSumLog
0.815253
0.8540285
0.8848640
0.8810710
0.9045925
1.023303
4
colProds(X, rows, cols) w/ expSumLog
0.817826
0.8579660
0.8888690
0.8817405
0.9097020
1.018013
expr
min
lq
mean
median
uq
max
1
colProds_X_S w/ direct
1.000000
1.000000
1.0000000
1.000000
1.000000
1.0000000
5
colProds(X[rows, cols]) w/ direct
1.020438
1.007520
0.9213787
1.019254
1.007480
0.1179793
3
colProds(X, rows, cols) w/ direct
1.027759
1.028859
0.9369339
1.033159
1.019896
0.1081078
2
colProds_X_S w/ expSumLog
1.817520
1.783236
1.7247231
1.792587
1.775130
1.0679071
6
colProds(X[rows, cols]) w/ expSumLog
1.839702
1.816060
1.6473084
1.824080
1.795931
0.1837335
4
colProds(X, rows, cols) w/ expSumLog
1.845508
1.824433
1.6547644
1.825467
1.806075
0.1827837
Table: Benchmarking of rowProds_X_S w/ direct(), rowProds_X_S w/ expSumLog(), rowProds(X, cols, rows) w/ direct(), rowProds(X, cols, rows) w/ expSumLog(), rowProds(X[cols, rows]) w/ direct() and rowProds(X[cols, rows]) w/ expSumLog() on 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
rowProds_X_S w/ direct
0.452031
0.4696240
0.4958651
0.4909225
0.5074250
0.827912
5
rowProds(X[cols, rows]) w/ direct
0.461406
0.4754990
0.5027588
0.4971750
0.5220060
0.621393
3
rowProds(X, cols, rows) w/ direct
0.463121
0.4794815
0.5041696
0.4973430
0.5193365
0.579636
2
rowProds_X_S w/ expSumLog
0.817300
0.8511180
0.9476184
0.8749390
0.9055550
6.048890
6
rowProds(X[cols, rows]) w/ expSumLog
0.831767
0.8556450
0.8973632
0.8938940
0.9186840
1.049984
4
rowProds(X, cols, rows) w/ expSumLog
0.830980
0.8594300
0.9692100
0.8972895
0.9322075
5.945592
expr
min
lq
mean
median
uq
max
1
rowProds_X_S w/ direct
1.000000
1.000000
1.000000
1.000000
1.000000
1.0000000
5
rowProds(X[cols, rows]) w/ direct
1.020740
1.012510
1.013902
1.012736
1.028735
0.7505544
3
rowProds(X, cols, rows) w/ direct
1.024534
1.020990
1.016747
1.013078
1.023474
0.7001179
2
rowProds_X_S w/ expSumLog
1.808062
1.812339
1.911041
1.782234
1.784609
7.3061992
6
rowProds(X[cols, rows]) w/ expSumLog
1.840066
1.821979
1.809692
1.820845
1.810482
1.2682314
4
rowProds(X, cols, rows) w/ expSumLog
1.838325
1.830038
1.954584
1.827762
1.837134
7.1814299
Figure: Benchmarking of colProds_X_S w/ direct(), colProds_X_S w/ expSumLog(), colProds(X, rows, cols) w/ direct(), colProds(X, rows, cols) w/ expSumLog(), colProds(X[rows, cols]) w/ direct() and colProds(X[rows, cols]) w/ expSumLog() on 10x1000 data as well as rowProds_X_S w/ direct(), rowProds_X_S w/ expSumLog(), rowProds(X, cols, rows) w/ direct(), rowProds(X, cols, rows) w/ expSumLog(), rowProds(X[cols, rows]) w/ direct() and rowProds(X[cols, rows]) w/ expSumLog() on the same data transposed. Outliers are displayed as crosses. Times are in milliseconds.
Table: Benchmarking of colProds_X_S w/ direct() and rowProds_X_S w/ direct() on 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
1
colProds_X_S w/ direct
443.144
470.2645
537.1574
483.0220
503.690
5569.495
2
rowProds_X_S w/ direct
452.031
469.6240
495.8651
490.9225
507.425
827.912
expr
min
lq
mean
median
uq
max
1
colProds_X_S w/ direct
1.000000
1.000000
1.000000
1.000000
1.000000
1.0000000
2
rowProds_X_S w/ direct
1.020054
0.998638
0.923128
1.016356
1.007415
0.1486512
Figure: Benchmarking of colProds_X_S w/ direct() and rowProds_X_S w/ direct() on 10x1000 data (original and transposed). Outliers are displayed as crosses. Times are in milliseconds.
Table: Benchmarking of colProds_X_S w/ direct(), colProds_X_S w/ expSumLog(), colProds(X, rows, cols) w/ direct(), colProds(X, rows, cols) w/ expSumLog(), colProds(X[rows, cols]) w/ direct() and colProds(X[rows, cols]) w/ expSumLog() on 100x1000 data. The top panel shows times in milliseconds and the bottom panel shows relative times.
expr
min
lq
mean
median
uq
max
1
colProds_X_S w/ direct
0.592488
0.6090990
0.6344606
0.6141315
0.6258575
0.993837
3
colProds(X, rows, cols) w/ direct
0.742322
0.7607325
0.9571598
0.7680960
0.7844370
17.610742
5
colProds(X[rows, cols]) w/ direct
0.745049
0.7599220
1.1364363
0.7681500
0.7900630
17.967025
2
colProds_X_S w/ expSumLog
1.901336
1.9213535
1.9930555
1.9552115
1.9893900
2.613759
4
colProds(X, rows, cols) w/ expSumLog
2.049062
2.0702500
2.3208638
2.1125090
2.1379740
18.522131
6
colProds(X[rows, cols]) w/ expSumLog
2.051187
2.0951040
2.1664036
2.1148060
2.1630950
2.773091
expr
min
lq
mean
median
uq
max
1
colProds_X_S w/ direct
1.000000
1.000000
1.000000
1.000000
1.000000
1.000000
3
colProds(X, rows, cols) w/ direct
1.252889
1.248947
1.508620
1.250703
1.253380
17.719950
5
colProds(X[rows, cols]) w/ direct
1.257492
1.247617
1.791185
1.250791
1.262369
18.078442
2
colProds_X_S w/ expSumLog
3.209071
3.154419
3.141338
3.183702
3.178663
2.629967
4
colProds(X, rows, cols) w/ expSumLog
3.458403
3.398873
3.658011
3.439832
3.416072
18.636991
6
colProds(X[rows, cols]) w/ expSumLog
3.461989
3.439677
3.414560
3.443572
3.456210
2.790287
Table: Benchmarking of rowProds_X_S w/ direct(), rowProds_X_S w/ expSumLog(), rowProds(X, cols, rows) w/ direct(), rowProds(X, cols, rows) w/ expSumLog(), rowProds(X[cols, rows]) w/ direct() and rowProds(X[cols, rows]) w/ expSumLog() on 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
rowProds_X_S w/ direct
0.699797
0.7166085
0.9502186
0.7431445
0.8371100
17.605583
3
rowProds(X, cols, rows) w/ direct
0.856031
0.8707645
0.9158276
0.8841270
0.9101815
1.294338
5
rowProds(X[cols, rows]) w/ direct
0.853192
0.8721490
1.0934116
0.8879830
0.9343385
17.960586
2
rowProds_X_S w/ expSumLog
2.013450
2.0457340
2.3256908
2.0748135
2.1710325
19.122286
4
rowProds(X, cols, rows) w/ expSumLog
2.153939
2.1968730
2.4756826
2.2229345
2.2726920
19.692671
6
rowProds(X[cols, rows]) w/ expSumLog
2.176183
2.2032095
2.3390805
2.2442065
2.3320435
3.393626
expr
min
lq
mean
median
uq
max
1
rowProds_X_S w/ direct
1.000000
1.000000
1.0000000
1.000000
1.000000
1.0000000
3
rowProds(X, cols, rows) w/ direct
1.223256
1.215119
0.9638073
1.189711
1.087290
0.0735186
5
rowProds(X[cols, rows]) w/ direct
1.219199
1.217051
1.1506948
1.194900
1.116148
1.0201642
2
rowProds_X_S w/ expSumLog
2.877191
2.854744
2.4475325
2.791938
2.593485
1.0861490
4
rowProds(X, cols, rows) w/ expSumLog
3.077948
3.065653
2.6053823
2.991255
2.714926
1.1185469
6
rowProds(X[cols, rows]) w/ expSumLog
3.109735
3.074495
2.4616237
3.019879
2.785827
0.1927585
Figure: Benchmarking of colProds_X_S w/ direct(), colProds_X_S w/ expSumLog(), colProds(X, rows, cols) w/ direct(), colProds(X, rows, cols) w/ expSumLog(), colProds(X[rows, cols]) w/ direct() and colProds(X[rows, cols]) w/ expSumLog() on 100x1000 data as well as rowProds_X_S w/ direct(), rowProds_X_S w/ expSumLog(), rowProds(X, cols, rows) w/ direct(), rowProds(X, cols, rows) w/ expSumLog(), rowProds(X[cols, rows]) w/ direct() and rowProds(X[cols, rows]) w/ expSumLog() on the same data transposed. Outliers are displayed as crosses. Times are in milliseconds.
Table: Benchmarking of colProds_X_S w/ direct() and rowProds_X_S w/ direct() on 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
colProds_X_S w/ direct
592.488
609.0990
634.4606
614.1315
625.8575
993.837
2
rowProds_X_S w/ direct
699.797
716.6085
950.2186
743.1445
837.1100
17605.583
expr
min
lq
mean
median
uq
max
1
colProds_X_S w/ direct
1.000000
1.000000
1.000000
1.000000
1.000000
1.00000
2
rowProds_X_S w/ direct
1.181116
1.176506
1.497679
1.210074
1.337541
17.71476
Figure: Benchmarking of colProds_X_S w/ direct() and rowProds_X_S w/ direct() on 100x1000 data (original and transposed). Outliers are displayed as crosses. Times are in milliseconds.
Table: Benchmarking of colProds_X_S w/ direct(), colProds_X_S w/ expSumLog(), colProds(X, rows, cols) w/ direct(), colProds(X, rows, cols) w/ expSumLog(), colProds(X[rows, cols]) w/ direct() and colProds(X[rows, cols]) w/ expSumLog() on 1000x100 data. The top panel shows times in milliseconds and the bottom panel shows relative times.
expr
min
lq
mean
median
uq
max
1
colProds_X_S w/ direct
0.195657
0.1991355
0.2116703
0.204477
0.2132795
0.261516
3
colProds(X, rows, cols) w/ direct
0.264200
0.2685380
0.3576360
0.281772
0.2891010
7.445191
5
colProds(X[rows, cols]) w/ direct
0.263963
0.2708105
0.3669107
0.283317
0.2901915
7.748395
2
colProds_X_S w/ expSumLog
1.225311
1.2389830
1.2784974
1.244929
1.2768285
1.581018
4
colProds(X, rows, cols) w/ expSumLog
1.298622
1.3047600
1.3459490
1.316818
1.3275575
1.765900
6
colProds(X[rows, cols]) w/ expSumLog
1.297642
1.3088775
1.4524733
1.321813
1.4109380
8.650490
expr
min
lq
mean
median
uq
max
1
colProds_X_S w/ direct
1.000000
1.000000
1.000000
1.000000
1.000000
1.000000
3
colProds(X, rows, cols) w/ direct
1.350322
1.348519
1.689590
1.378013
1.355503
28.469352
5
colProds(X[rows, cols]) w/ direct
1.349111
1.359931
1.733407
1.385569
1.360616
29.628761
2
colProds_X_S w/ expSumLog
6.262546
6.221809
6.040041
6.088357
5.986644
6.045588
4
colProds(X, rows, cols) w/ expSumLog
6.637238
6.552122
6.358704
6.439932
6.224496
6.752550
6
colProds(X[rows, cols]) w/ expSumLog
6.632229
6.572798
6.861960
6.464363
6.615441
33.078244
Table: Benchmarking of rowProds_X_S w/ direct(), rowProds_X_S w/ expSumLog(), rowProds(X, cols, rows) w/ direct(), rowProds(X, cols, rows) w/ expSumLog(), rowProds(X[cols, rows]) w/ direct() and rowProds(X[cols, rows]) w/ expSumLog() on 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
rowProds_X_S w/ direct
0.300104
0.3051760
0.3285277
0.3092735
0.3281365
0.518286
3
rowProds(X, cols, rows) w/ direct
0.381083
0.3941565
0.5694519
0.4015435
0.4208940
8.705449
5
rowProds(X[cols, rows]) w/ direct
0.379665
0.3951705
0.4271570
0.4016900
0.4393575
0.626979
2
rowProds_X_S w/ expSumLog
1.344601
1.3625165
1.4286976
1.3694475
1.4061200
1.931190
6
rowProds(X[cols, rows]) w/ expSumLog
1.437370
1.4508460
1.6130615
1.4610220
1.5417725
9.368408
4
rowProds(X, cols, rows) w/ expSumLog
1.430326
1.4508200
1.5657706
1.4632290
1.6107655
2.447405
expr
min
lq
mean
median
uq
max
1
rowProds_X_S w/ direct
1.000000
1.000000
1.000000
1.000000
1.000000
1.000000
3
rowProds(X, cols, rows) w/ direct
1.269837
1.291571
1.733345
1.298344
1.282680
16.796612
5
rowProds(X[cols, rows]) w/ direct
1.265111
1.294894
1.300216
1.298818
1.338947
1.209716
2
rowProds_X_S w/ expSumLog
4.480450
4.464691
4.348789
4.427950
4.285168
3.726109
6
rowProds(X[cols, rows]) w/ expSumLog
4.789573
4.754129
4.909971
4.724045
4.698571
18.075750
4
rowProds(X, cols, rows) w/ expSumLog
4.766101
4.754044
4.766024
4.731181
4.908828
4.722113
Figure: Benchmarking of colProds_X_S w/ direct(), colProds_X_S w/ expSumLog(), colProds(X, rows, cols) w/ direct(), colProds(X, rows, cols) w/ expSumLog(), colProds(X[rows, cols]) w/ direct() and colProds(X[rows, cols]) w/ expSumLog() on 1000x100 data as well as rowProds_X_S w/ direct(), rowProds_X_S w/ expSumLog(), rowProds(X, cols, rows) w/ direct(), rowProds(X, cols, rows) w/ expSumLog(), rowProds(X[cols, rows]) w/ direct() and rowProds(X[cols, rows]) w/ expSumLog() on the same data transposed. Outliers are displayed as crosses. Times are in milliseconds.
Table: Benchmarking of colProds_X_S w/ direct() and rowProds_X_S w/ direct() on 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
1
colProds_X_S w/ direct
195.657
199.1355
211.6703
204.4770
213.2795
261.516
2
rowProds_X_S w/ direct
300.104
305.1760
328.5277
309.2735
328.1365
518.286
expr
min
lq
mean
median
uq
max
1
colProds_X_S w/ direct
1.000000
1.000000
1.000000
1.00000
1.000000
1.000000
2
rowProds_X_S w/ direct
1.533827
1.532504
1.552072
1.51251
1.538528
1.981852
Figure: Benchmarking of colProds_X_S w/ direct() and rowProds_X_S w/ direct() on 1000x100 data (original and transposed). Outliers are displayed as crosses. Times are in milliseconds.