【问题标题】:accessing the array in stack will it be a performance hit访问堆栈中的数组会影响性能吗
【发布时间】:2012-06-25 14:33:24
【问题描述】:

刚才我很困惑在访问堆栈中初始化的数组而不是堆中初始化的数组时是否存在性能损失。

例子

void access(int *pointer){

}

int main(){

int array [] = {6,5,4};

access(array);

}

对比

void access(int *pointer){

}

int main(){

int *array  =  new int[3];

access(array);

}

我真正想知道的是是否可以直接访问堆栈中数组的起点?

【问题讨论】:

  • 这似乎是微优化。我认为差异并不重要。

标签: c++ arrays heap-memory stack-memory


【解决方案1】:

这是微优化。整体性能通常会受到更大的影响,例如所需数据是否在 CPU 缓存中。

我强烈推荐阅读What every programmer should know about memory。它相当繁重(现在有点过时了),但它非常全面。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-03
    • 1970-01-01
    • 2011-07-07
    • 1970-01-01
    • 1970-01-01
    • 2011-03-28
    • 2020-05-30
    • 2011-04-09
    相关资源
    最近更新 更多