Description
Current impl of SparseVector.apply is inefficient:
on each call, breeze.linalg.SparseVector & breeze.collection.mutable.SparseArray are created internally, then binary-search is used to search the input position.
This place should be optimized like .ml.SparseMatrix, which directly use binary search, without conversion to breeze.linalg.Matrix.
I tested the performance and found that if we avoid the internal conversions, then a 2.5~5X speed up can be obtained.
Attachments
Issue Links
- links to