当我运行以下脚本时:
my @arr = [1..5000000];
for($i=0; $i<5000000; $i++) {
$arr[$i] = $i;
if($i % 1000000 == 0) {
print "$i\n";
}
}
Run Code Online (Sandbox Code Playgroud)
它消耗大约500 MB的内存.用于高级编译语言我希望它大约是5M*4B = 20MB(每个数字4个字节).
我猜这是因为每个值都是标量,而不是简单的二进制数.是否可以通过将这些值视为数字来减少内存占用,或者只有500 MB才能完成此任务?
归档时间: |
|
查看次数: |
2633 次 |
最近记录: |