如何解决.net 5在大型迭代中vs列表vs其他的性能
我有一个可以处理80,000个项目和一个字典的算法,但是性能不是很好,所以我正在寻找一种优化它的方法,也许我使用了错误的列表类型?
在这种情况下,我有80,000个地图参考,需要根据它们的接近程度进行分组。如果它们在X距离之内,则它们将被添加到组中,或者它们是新的参考点。
当前,我使用一个字典,其键为=地图参考,值=一系列接近(在X距离之内)的参考。
对于80,000个对象,要进行大量的迭代,并且需要几分钟才能完成。
有人这样想吗?
伪代码。
dictionary (reference,list<references>) referenceGroup = new...
foreach (reference in references) {
foreach (group in referenceGroup) {
if (reference.distancefrom(group.key) <= X) {
referenceGroup.value.add(reference)
break
}
}
if (neverAddedToGroup) {
referenceGroup.add(reference,reference)
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。