我想缓存对Sqrt()的调用结果,我应该使用哪个集合来提高效率?

时间:2014-08-24 20:19:31

标签: c# caching dictionary sqrt

在我的应用中,我正在计算原子距离,这必须是精确的。据我所知,唯一可行的方法是使用平方根函数。但是,使用平方根函数在我的应用程序中造成了瓶颈。

应用程序处理的数据将来会被重新处理几次,因此缓存sqrt()的结果可能会在第一次运行后提高性能,但前提是使用了正确的高效集合类型。该集合中可能存储了大约20,000平方的结果。

我正在考虑将存储查询号'd'和sqrt()结果的Dictionary。这是最好的解决方案,不同的集合会更好,还是应该为特定任务实现集合?

1 个答案:

答案 0 :(得分:1)

看作Dictionary是O(1),这是缓存sqrt()结果的最佳可能性。