【发布时间】:2012-10-23 21:16:32
【问题描述】:
var a = new double[7000,7000];
FillValue(a,3);
似乎.Net 在执行第一行之后实际上并没有为a 分配任何内存。只有在运行FillValue 调用时,它才会逐渐吃掉内存。 (大约 400MB)
任何人都可以向我提供有关它的更多详细信息吗?我还以为a默认初始化后是0,怎么可能不占内存呢?
【问题讨论】:
-
你如何衡量它是否分配内存?
-
@SethCarnegie 可悲的是,我使用了一种非常粗略的方式......只需查看 Windows 任务管理器......并设置断点,循环运行几次。每个
fill有 400MB 内存,很容易发现。 -
这也可能是操作系统的原因。请参阅“内存组合”blogs.msdn.com/b/b8/archive/2011/10/07/…
-
@ta.speot.is 请记住,这仅与 Windows 8 有关。我认为这与这次讨论无关。
标签: c# memory multidimensional-array