Skip to content
Prev 12308 / 21312 Next

[Bioc-devel] any interest in a BiocMatrix core package?

As Peter points out, the 'matrixStats' package provides an API with
plain functions - not generic functions.  This is intentional with the
main purpose of this is to keep the overhead at an absolute minimum.
This is also in line with the overall philosophy of 'matrixStats'
where speed is maximized and memory usage is minimized to the point
where you cannot do much better if you'd use native code.   The user
should be able to call the same matrixStats function thousands of
times even on rather small matrices without getting killed by overhead
due to dispatching or internal copies, e.g. [toy example] resampling
'cols' B=10,000 times in calls such as matrixStats::rowMeans2(X, cols
= cols)`.  You can find extensive benchmark reports at
https://github.com/HenrikBengtsson/matrixStats/wiki/Benchmark-reports.
a rather low-level role where it can serve higher-level API that
either replicate its API or reuse it internally, e.g. those that
dispatch on S3 and S4 etc.  Peter's 'DelayedMatrixStats' is one
example.

On Thu, Nov 2, 2017 at 2:00 AM, Martin Maechler
<maechler at stat.math.ethz.ch> wrote:
[...]
Oh no, I'm sorry that I/we've caused frustration with 'matrixStats'.
I'm not sure I understand though - the overlap in API and
functionality between 'matrixStats' and 'Matrix' is basically zero(?).
I think of 'Matrix' a higher-level package.  Do my comments above put
it in a different light?  Or are you saying that what's in
'matrixStats' should really have been in 'Matrix'?

All the best,

Henrik

On Fri, Nov 3, 2017 at 7:16 AM, Martin Morgan
<martin.morgan at roswellpark.org> wrote: