-
Notifications
You must be signed in to change notification settings - Fork 23
Description
When using matrices and, in particular, large matrices, it seems like a strange API design choice to use something like:
Matrix transpose = dense.transpose(); // does this copy or is it just a view? What if dense is 1e7 x 1e7?
instead of something like:
Matrix transposeView = dense.getTransposeView();
Matrix transpose=transposeView.copy();
It's often the case that one is looping and say multiplying matrices. In this case something like:
Matrix A=createDense(m,n);
for(;;) {
UJM.mult(A, m1, m2); // A :=m1 x m2
// ...
}
If you have to malloc and free (or at least manage a massive heap) every iteration it will impact the perf quite a bit.
Not really a classic issue but one reason I didn't use UJM, although I was quite interested in the long dim support. Interested to know why you choose this design. Cheers!