栈上分配大对象vs堆上分配大对象
不考虑其他因素, 栈上分配的对象带来的性能开销比在堆上分配要小。
但在C#中会做一系列初始化操作,比如一个int数组的值都会被赋值为0。因此在C#中,堆上分配还是栈上分配,性能的差异并不明显。大概是2倍左右。其中很大原因是会有很多push 0操作(数组元素赋值为0)。
如果使用dllimport C++的代码,此时栈上分配的效率对比堆上分配 性能差异在100倍左右
不考虑其他因素, 栈上分配的对象带来的性能开销比在堆上分配要小。
但在C#中会做一系列初始化操作,比如一个int数组的值都会被赋值为0。因此在C#中,堆上分配还是栈上分配,性能的差异并不明显。大概是2倍左右。其中很大原因是会有很多push 0操作(数组元素赋值为0)。
如果使用dllimport C++的代码,此时栈上分配的效率对比堆上分配 性能差异在100倍左右
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)