Currently, NNDescent runs slower than it is supposed to. Currently, the bottlenecks are functions generate_graph_updates and sample_candidates. In both implementations that I used to implement NNDescent namely Python implementation and C++ implementation these functions are implemented with technologies that enable parallel/concurrent computations (OMP and Numba). I wasn't able to implement this using vectorisation. For now, I don't have any other ideas to drastically improve NNDescent's runtime.
Currently, NNDescent runs slower than it is supposed to. Currently, the bottlenecks are functions
generate_graph_updatesandsample_candidates. In both implementations that I used to implement NNDescent namely Python implementation and C++ implementation these functions are implemented with technologies that enable parallel/concurrent computations (OMP and Numba). I wasn't able to implement this using vectorisation. For now, I don't have any other ideas to drastically improve NNDescent's runtime.