gpt4 book ai didi

c - 指针间接与在堆栈上分配的成本是多少?

转载 作者:行者123 更新时间:2023-12-05 01:25:55 26 4
gpt4 key购买 nike

我有一个将重复调用的绘制方法(每一帧...)。在这个方法中,我有一些本地定义的变量(大约 20 个)。我正在考虑将它们放在一个结构中,并将指向该结构的指针作为参数传递给该方法。这是希望间接操作比将变量放在堆栈上更快。

一般而言,这里是否存在合理的性能差异?

最佳答案

将变量放在堆栈上(至少在 x86 处理器上)非常快。在 x86 处理器上,使用堆栈相当于在函数开头减一次,在函数末尾加一次;添加更多变量只会改变数字,不会使其变慢。如果您使用的是间接寻址,那可能需要更多的操作,所以它可能会慢一点,但如果您的编译器将该结构指针放在一个寄存器中,它可能会像加载和存储一样快速。

我会坚持使用任何让您的代码更简单的方法,因为它无论如何都是微优化,您应该只在分析并确定它是瓶颈后才考虑它。

关于c - 指针间接与在堆栈上分配的成本是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13097767/

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