我不是在问,程序转换为汇编代码后,访问堆的汇编代码,多了一步,就是访问栈中的指针(局部的指针),再去访问堆。从汇编代码层面,直接访问栈和堆,为什么access stack faster than heap?是CPU缓存机制吗,还是其他?
1,分配
栈和堆使用的数据结构不同
2,访问
堆需要间接借助指针
3,布局
栈更“集中”,访问频繁,缓存命中频率高。
我不是在问,程序转换为汇编代码后,访问堆的汇编代码,多了一步,就是访问栈中的指针(局部的指针),再去访问堆。从汇编代码层面,直接访问栈和堆,为什么access stack faster than heap?是CPU缓存机制吗,还是其他?
1,分配
栈和堆使用的数据结构不同
2,访问
堆需要间接借助指针
3,布局
栈更“集中”,访问频繁,缓存命中频率高。