Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 3D程序和2D程序之间的性能差异_Java_Performance - Fatal编程技术网

Java 3D程序和2D程序之间的性能差异

Java 3D程序和2D程序之间的性能差异,java,performance,Java,Performance,我写了一个程序,在3D建筑上放置太阳能电池板,但作为一种快捷方式,在为每个面放置太阳能电池板时,我将其视为一个平面,因此它变成了一个2D问题 我的问题是: 我能够根据所花费的时间来衡量我的程序的性能,但有没有办法通过将其转换为二维问题而不是仅在三维中进行计算来量化节省的时间 当然,除非我重新编写程序并仅在3D中进行计算以进行性能比较,否则无法获得准确的数字,但是否有人参考或了解在一维更少的情况下工作可能会有多大的改进(如果有) 如果您有任何建议/提示/讨论,我们将不胜感激。这取决于您使用的算法。

我写了一个程序,在3D建筑上放置太阳能电池板,但作为一种快捷方式,在为每个面放置太阳能电池板时,我将其视为一个平面,因此它变成了一个2D问题

我的问题是: 我能够根据所花费的时间来衡量我的程序的性能,但有没有办法通过将其转换为二维问题而不是仅在三维中进行计算来量化节省的时间

当然,除非我重新编写程序并仅在3D中进行计算以进行性能比较,否则无法获得准确的数字,但是否有人参考或了解在一维更少的情况下工作可能会有多大的改进(如果有)


如果您有任何建议/提示/讨论,我们将不胜感激。

这取决于您使用的算法。关于如何确定算法的粗略性能特征,请看一看大O表示法。谢谢Thomas,我以前没有见过大O表示法。我刚刚查阅了一本初学者指南,对于我的算法,我分析了每个建筑物的每个面。我猜这个嵌套将使它成为一个O(N^2)。然而,它仍然没有完全回答在3D和2D中进行计算的性能差异的问题。正如我所说,这取决于算法。如果只保存一些计算,性能差异可能非常小,如果由于缺少维度而可以省略循环或其他更大的部分,则差异可能会更大。如果算法具有相同的
O(x)
性能,则必须进行测试以获得更精确的差异。没有一般的2D和3D性能比较。在3D建筑的表面上放置太阳能电池板仍然是计算方面的2D问题。如果你不相信我,就拿一个建筑的纸板模型,沿着两堵墙相交的所有边缘(或一堵墙与屋顶相交的地方)进行切割。现在把它全部弄平。嘿,普雷斯托,二维!