gpt4 book ai didi

java - 在性能方面,double 数组比 java 中的自定义类更好还是更差?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:54:19 25 4
gpt4 key购买 nike

我正在用 Java 编写 GJK 算法(凸形碰撞)的简单实现,它涉及很多 3D vector 的简单计算。在性能与可读性方面,将点存储为 double[3] 并使用大量静态方法来处理它们(加、减、点、叉、取反等)或使用带有方法的类会更好吗包含在?

double 数组的问题在于,如果使用专门的方法,则执行简单的减法(例如)需要多个循环,或者如果它们被硬编码,代码会变得很长。一个 Point 对象使得代码更具可读性,但它是否值得,因为我假设这不是微不足道的性能开销?

最佳答案

我的建议:使用您花费最少的精力让它发挥作用,然后再对其进行优化。事实证明,您的应用程序中的瓶颈可能完全是另外一回事,而碰撞检测方面的改进只是一小部分。

例如,假设您发现您的应用程序将 10% 的时间用于碰撞检测,将 50% 的时间用于磁盘读取。如果您可以使用缓存将磁盘读取减少一半,那么您的执行速度将提高 25%,这是通过完全消除碰撞检测时间所能达到的最佳效果的两倍多。

正如 Donald Knuth 所说,“过早的优化是万恶之源。”

关于java - 在性能方面,double 数组比 java 中的自定义类更好还是更差?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7411531/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com