Closed
Description
Currently a fair amount of Cython code uses the numpy buffer interface.
When possible, it could be worth migrating some of it to the typed memoryviews Cython interface that has lower overhead and could result in some performance improvements [1], [2]. This would also allow to release GIL more frequently which would be positive for parallel computations with the threading backend.
I'm not saying that it makes sense to use memoryviews everywhere, and there are subtle differences between the two (possibly related #7059 (comment)). Just opening this issue to track progress.
For instance, sklearn/utils/sparsefuncs_fast.pyx
could be a place to start.