title: Seaborn bivariate KDE speed-up
body: <p>I am estimating a Gaussian bivariate KDE of positions data (x and y coordinates), and I use <code>sns.kdeplot</code> for this. While it works correctly (i.e. I get the plot I get), it is pretty slow for the amount of data I have (can by up to 0.5 million (x,y) pairs). </p>
  
  <ol>
  <li><p>What is complexity of <code>kdeplot</code> as implemented in <code>seaborn</code>? I cannot seem to find this information. Is it "classic" $O(nm)$ KDE complexity?</p></li>
  <li><p>Are there freely available implementations of KDE plots that are faster than in <code>seaborn</code>?</p></li>
  <li><p>Are there some preprocessing methods for locations data that can speed-up the calculations? I have read answers to <a href="https://stats.stackexchange.com/questions/105623/how-to-speed-up-kernel-density-estimation">https://stats.stackexchange.com/questions/105623/how-to-speed-up-kernel-density-estimation</a>, but I am have not fully understood it, and I am also not sure if it is directly applicable to my type of data. Of the answers to that questions, what would be the preferred method for the locations data? Are k-D trees a good approach to it? Is it already implemented like this in <code>seaborn</code> (or in some other library), or I should write my own implementation?</p></li>
  </ol>