Java:计算大量位置之间的距离和性能

Java:计算大量位置之间的距离和性能,java,performance,latitude-longitude,time-complexity,Java,Performance,Latitude Longitude,Time Complexity,我正在创建一个应用程序,它将告诉用户大量点离当前位置有多远 每个点都有经度和纬度 我读了这篇文章 看到这个帖子了吗 需要进行许多计算(50-200) 如果速度比这些计算的准确性更重要,那么哪一个是最好的?您发布的两个链接使用相同的球形几何公式来计算距离,因此我不希望它们的运行速度之间存在显著差异。而且,它们在计算上并不昂贵,因此,如果您在现代硬件上运行,即使在几百次迭代的规模上,我也不认为这是一个问题。这是O(n) 不要担心性能。除非每一次计算花费的时间太长(事实并非如此)。正如Imre所说

我正在创建一个应用程序,它将告诉用户大量点离当前位置有多远

每个点都有经度和纬度

我读了这篇文章

看到这个帖子了吗

需要进行许多计算(50-200)


如果速度比这些计算的准确性更重要,那么哪一个是最好的?

您发布的两个链接使用相同的球形几何公式来计算距离,因此我不希望它们的运行速度之间存在显著差异。而且,它们在计算上并不昂贵,因此,如果您在现代硬件上运行,即使在几百次迭代的规模上,我也不认为这是一个问题。

这是O(n) 不要担心性能。除非每一次计算花费的时间太长(事实并非如此)。

正如Imre所说,这是O(n),或线性,这意味着无论值有多大的差异,或者执行多少次,算法中的计算每次迭代所花费的时间都是相同的。然而,我不同意在这种情况下,球余弦定律的实际变量和算法中执行的计算更少,这意味着使用的资源更少。因此,我会选择这一个,因为唯一不同速度的是可用的计算机资源。(注意:除非在非常旧/速度慢的机器上,否则几乎看不到)


基于意见的判断:余弦球面定律

距离有多远?在较短的距离内,你可以假设地球是平的,做更简单的数学计算。好的,1-10英里,5000英里可能不太好。我们说的是多少点?