gpt4 book ai didi

具有多个参数的 Java 方法 - 性能

转载 作者:行者123 更新时间:2023-12-01 23:12:08 27 4
gpt4 key购买 nike

当我使用具有大量(超过一百个)参数的have/use方法时,计算性能是否效率低下?

我指的并不是可维护性方面的高效,而是指“原始”计算性能方面的高效:)

最佳答案

理论上,也许,由于 Java 是按值传递的,这意味着当调用函数时,JVM 会复制每个参数值并将副本提供给函数,因此可能在某个时刻参数的数量对执行时间有不可忽略的影响。但在实践中,只要有可能,这些副本都是“浅”副本,这意味着它们更像是引用,因此实际制作副本所花费的时间很少。因此,您可能需要超过 100 个参数才能对性能时间产生明显影响。

无论如何,即使考虑这样的事情的执行时间,听起来也很像是过早的优化。几乎可以肯定它不是程序的瓶颈,因此在您确定它确实导致速度减慢之前,不值得花时间在上面。如果您的程序速度慢得令人无法接受,请调查其他可能的速度下降原因。

当然,正如您提到的,“可维护性”问题。为什么单个函数需要数百个参数?它们是复杂的参数(例如自定义对象的 ArrayList),还是简单的内置数据类型?如果是后者,为什么不考虑将它们打包成数组、ArrayList 等呢?或者,为什么不将函数分解为多个函数呢?现代计算机的速度足够快,对于许多(可以说是大多数)目的而言,程序员的时间比处理器时间更有值(value),因此在编码时,您首先关心的通常应该是您正在编写的内容是否易于理解且写得好,而不是它是否快。

关于具有多个参数的 Java 方法 - 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13768637/

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