Cálculo de vizinho mais próximo repetido para milhões de pontos de dados muito lentos

Eu tenho um conjunto de dados rodando em milhões de pontos de dados em 3D. Para o cálculo que estou fazendo, preciso calcular vizinho (pesquisa por faixa) para cada ponto de dados em um raio, tentar ajustar uma função, calcular o erro para o ajuste, repetir para o próximo ponto de dados e assim por...