栈上分配大对象vs堆上分配大对象

不考虑其他因素, 栈上分配的对象带来的性能开销比在堆上分配要小。
但在C#中会做一系列初始化操作,比如一个int数组的值都会被赋值为0。因此在C#中,堆上分配还是栈上分配,性能的差异并不明显。大概是2倍左右。其中很大原因是会有很多push 0操作(数组元素赋值为0)。
如果使用dllimport C++的代码,此时栈上分配的效率对比堆上分配 性能差异在100倍左右

https://book.douban.com/subject/35169504/

posted @ 2022-09-09 13:50  dewxin  阅读(52)  评论(2编辑  收藏  举报