gpt4 book ai didi

c - 使用指针和双指针访问时的性能差异

转载 作者:太空狗 更新时间:2023-10-29 14:51:50 25 4
gpt4 key购买 nike

  1. 当我们使用指针和双指针访问内存位置时,性能有什么不同吗?
  2. 如果是这样,哪个更快?

最佳答案

没有简单的答案,因为答案可能取决于实际机器。如果我没记错的话,一些遗留机器(例如 PDP11 )在一条指令中提供了“双指针”访问。

然而,今天的情况并非如此。由于 virtual memory,访问内存并不像看起来那么简单并且需要大量工作.出于这个原因——我的猜测是,在大多数现代机器上,双重引用实际上应该更慢——必须做更多的工作来将两个地址从虚拟地址转换为物理地址并检索它们——但这只是有根据的猜测。
但是请注意,编译器可能已经为您优化了“冗余”访问

然而,据我所知,没有比“单次访问”更快的“双次访问”机器,所以我们可以说单次访问并不比双次访问差

作为旁注,我相信在现实生活中的程序中,差异可以忽略不计(与程序中所做的任何其他事情相比),除非在对性能非常敏感的循环中完成 - 只需做任何更具可读性的事情 。此外,如果可以的话,编译器可能已经为您优化了它。

关于c - 使用指针和双指针访问时的性能差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21752916/

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