Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Performance improvement of the FilterCol-kernel on DenseMatrix.
- This commit changes the algorithm used to do the main work of the kernel. - The previous algorithm evaluated all entries of the selection bit vector for every row of the input matrix. - The new algorithm creates a vector of positions from the input bit vector first and evaluates only those positions for every row of the input matrix. - With the value types we currently use, the new approach should always be faster than the old one; but the trade-offs may change with other value types for the bit vector and positions (depending on the number of 1 bits). - With the old algorithm, FilterCol was the most expensive operation in decision trees/random forests for a particular use-case script; the new algorithm speeds up that script by 4x on my machine.
- Loading branch information