|
本帖最后由 kyra 于 2018-7-10 19:19 编辑
楼主可以尝试把 100000000 改成 1000000 (也就是去掉2个零)
把 allocate(a%b(i)%c(1:1)) 改成 allocate(a%b(i)%c(100)) !也就是加上2个零
这样对比就明显了。
要知道 c(1:1) 只占8个字节,在64位计算机上,和指针大小一样。释放不释放真的区别不大。
fortran 的可分配数组和指针,他们并不只占8字节(地址),实际上可能在40个字节左右(数组大小,维度,上下限,间距等)。
因此,特别多的数组,建议不要用可分配的。
http://bbs.fcode.cn/thread-829-1-1.html
这个帖子对你有帮助。
|
|