I was reminded of this by another thread.
It is faster to add in-place a large size storage=sparse float Matrix into a new empty storage=rectangular float Matrix than it is to convert it that way using the Matrix() or rtable() constructors.
Here's an example. First I'll do it with in-place Matrix addition. And then after that with a call to Matrix(). I measure the time to execute as well as the increase in bytes-allocated and bytes-used.
> N := 500:
> A := RandomMatrix(N,'density'=0.1,
> st,ba,bu := time(),kernelopts(bytesalloc),kernelopts(bytesused):
> B := Matrix(N,'datatype'=float):
0.022, 2489912, 357907