栈分配比堆分配的优点

原文

1,堆分配(GC或非GC)总是要求同步共享资源.
2,堆分配(GC或非GC)的高速缓存利用率很差(GC涉及大量降低利用率高速缓存行).
3,堆分配(gc或非gc)永远不是O(1).大的分配需要从有非线性复杂性的系统请求内存(sbrk,mmap等)的syscalls.

栈分配只是加个整数指针(现代处理器还有特殊的栈优化,使栈操作/调用/返回减少到几乎为零).此外,由于是密集使用的资源,其高速缓存利用率是巨大的,并且由于它是线本资源,所以在高速缓存行上,一般不存在竞争.
栈分配的主要缺点是其大小有限及可能的栈溢出风险.

posted @   zjh6  阅读(11)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示