The bug 8297 <http://bugzilla.scilab.org/8297> reporting the outstanding
slowness of the cat() function was reported in 2010
but lasts since cat() was introduced. As measured and commented in the
slowness actually makes cat() almost unusable, except for small sized
arrays to be concatenated.
For instance, after M = rand(500,500); cat(3,M,M) takes more than 11
with Scilab 5.5.2, and roughly 4 hours with Scilab 6.0.0.
So, everyone could imagine how much Scilab currently takes just to build
1000x1000 RGB image by stacking its 3 1000x1000 R,G,B layers using
The current algorithm is exponential with respect to the array size...
Before using GPU routines to process images, a much simpler thing can be
to enable cat() for true life usages : rewritting it.
This is what is done here: https://codereview.scilab.org/#/c/19278/
Some rewievers are needed to make cat() truly available in Scilab 6.0.1.
So, do not hesitate to contribute online.
users mailing list