调用链函数会产生开销吗?

萨尔曼·哈利法(Salman Khalifa)

调用函数链有开销吗?例如,在以下for循环中:

for(int i = 0; i < n; i++)
{
  var=object.method1().method2().method3();
}

第一个效率不如第二个效率低吗?

var = object.method1().method2();
for(int i = 0; i < n; i++)
{
  var.method3();
}

我的担心是要知道函数调用/返回是否还有开销,而不是函数在内部执行的操作太多。

谢谢。

长颈鹿队长

您的两个摘要在功能上不相同。

您最初的问题被标记为c ++ / Java,所以让我们继续吧。功能语言可能会对此有所不同。

通常,第二个版本速度更快,因为method1().method2()唯一的版本只需调用一次即可。在C ++和Java中,编译器很难弄清楚调用method1().method2()是否有副作用。考虑一种以用户输入为例的方法。

如果这些方法有副作用,则编译器无法对中的调用数进行任何优化var = object.m1().m2().m3()

链接本身不会产生任何开销。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

嵌套在空的else中会产生开销吗?

来自分类Dev

Matlab中的oop范式会产生多少开销

来自分类Dev

如何衡量函数的调用开销?

来自分类Dev

物业疲软会产生很多开销?

来自分类Dev

在Java中加载StanfordOpenNLP模型会产生巨大的开销吗?

来自分类Dev

最小化Java函数调用开销

来自分类Dev

如果与嵌入式HTML相比使用指令,会产生很多开销吗?

来自分类Dev

R中的数据集文件大小,可能产生开销吗?

来自分类Dev

访问内部字典时会产生很大的__getitem__开销吗?

来自分类Dev

go中的ASM函数调用的开销

来自分类Dev

开销-从C#调用C ++函数

来自分类Dev

虚拟继承会增加开销吗

来自分类Dev

调用重载的构造函数会产生歧义错误C ++

来自分类Dev

使用静态成员函数而不是普通函数会产生开销吗?

来自分类Dev

大量使用。会产生任何开销吗?字段/属性比较的运算符?

来自分类Dev

Cython可以进一步减少此函数的Python方法调用开销吗?

来自分类Dev

减少python中的函数调用开销

来自分类Dev

Matlab中的oop范式会产生多少开销

来自分类Dev

物业疲软会产生很多开销?

来自分类Dev

Oracle未使用的游标会产生开销吗?

来自分类Dev

访问内部字典时会产生很大的__getitem__开销吗?

来自分类Dev

randomString函数会产生错误吗?

来自分类Dev

在调用任何函数之前,调用函数的for循环会完成吗?

来自分类Dev

使用SpringMVC仅用于其余的Web项目会产生开销吗?

来自分类Dev

在已经拆分的上下文中调用await时会产生开销吗?

来自分类Dev

从Excel VBA函数xlwings调用会产生错误

来自分类Dev

虚拟继承会增加开销吗

来自分类Dev

为什么在构造函数中调用这个函数会产生 stackoverflow 错误?

来自分类Dev

存根链函数调用产生 NullPointerException

Related 相关文章

  1. 1

    嵌套在空的else中会产生开销吗?

  2. 2

    Matlab中的oop范式会产生多少开销

  3. 3

    如何衡量函数的调用开销?

  4. 4

    物业疲软会产生很多开销?

  5. 5

    在Java中加载StanfordOpenNLP模型会产生巨大的开销吗?

  6. 6

    最小化Java函数调用开销

  7. 7

    如果与嵌入式HTML相比使用指令,会产生很多开销吗?

  8. 8

    R中的数据集文件大小,可能产生开销吗?

  9. 9

    访问内部字典时会产生很大的__getitem__开销吗?

  10. 10

    go中的ASM函数调用的开销

  11. 11

    开销-从C#调用C ++函数

  12. 12

    虚拟继承会增加开销吗

  13. 13

    调用重载的构造函数会产生歧义错误C ++

  14. 14

    使用静态成员函数而不是普通函数会产生开销吗?

  15. 15

    大量使用。会产生任何开销吗?字段/属性比较的运算符?

  16. 16

    Cython可以进一步减少此函数的Python方法调用开销吗?

  17. 17

    减少python中的函数调用开销

  18. 18

    Matlab中的oop范式会产生多少开销

  19. 19

    物业疲软会产生很多开销?

  20. 20

    Oracle未使用的游标会产生开销吗?

  21. 21

    访问内部字典时会产生很大的__getitem__开销吗?

  22. 22

    randomString函数会产生错误吗?

  23. 23

    在调用任何函数之前,调用函数的for循环会完成吗?

  24. 24

    使用SpringMVC仅用于其余的Web项目会产生开销吗?

  25. 25

    在已经拆分的上下文中调用await时会产生开销吗?

  26. 26

    从Excel VBA函数xlwings调用会产生错误

  27. 27

    虚拟继承会增加开销吗

  28. 28

    为什么在构造函数中调用这个函数会产生 stackoverflow 错误?

  29. 29

    存根链函数调用产生 NullPointerException

热门标签

归档