我有一个为集合的每次迭代调用的方法,接受集合中的单个元素,通过创建一些局部变量进行一些处理并调用很少的外部方法。
我想了解我是否更新了接收集合本身的方法,然后在方法内部进行迭代并进行处理,它会有多少性能差异。正如我在第一种方法中理解的那样,对于每次迭代,都会有方法调用的开销,这会在内存堆栈中创建和销毁块。
答案 0 :(得分:0)
由于Java是一种高级编程语言,因此在优化过程中通常不会考虑方法调用开销。 正如我所看到的,这里唯一的性能影响可能是您设法重用在该方法中创建的对象。如果这些对象需要大量内存,那么这可能是一个值得注意的变化。
答案 1 :(得分:0)
性能增益将等于调用函数的成本,即 每次呼叫的纳秒分数。对于大多数测量,这低于噪声水平。考虑到如此微小的收益通常是不值得的,即使在大多数高性能设置中也是如此。