gpt4 book ai didi

c - 如果递归函数采用多个参数,将参数放在结构中是否有性能优势

转载 作者:太空狗 更新时间:2023-10-29 16:02:38 24 4
gpt4 key购买 nike

这在函数式语言中很常见,尤其是 TCO。我只是想知道除了更容易编写和跟踪之外,它是否提供了任何性能优势。如果它们只是普通参数,访问结构中的变量是否和访问它们一样快?这种方法有什么缺点吗?

最佳答案

没有任何好处,因为结构是按值传递的。一个接一个地传递多个参数将从正在运行的程序中获取与分配 struct 相同数量的分配。此外,由于填充,struct 可能会给您带来更差的结果。

即使您通过指针传递您的struct,您仍然需要在将它传递到下一级调用之前分配您的struct 的一个新实例。从理论上讲,您可以通过在多次调用中重用已分配一次的结构来获得一些好处,但在大多数情况下,这将是一种微优化,不值得您为此烦恼(除非您的探查器另有指示)。

关于c - 如果递归函数采用多个参数,将参数放在结构中是否有性能优势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11706290/

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