以下是名称为while.pl
的示例代码文件。
#!/usr/bin/perl
use strict;
use warnings;
my $i=0;
while (1)
{
print "Testing $i\n" ;
$i++ ;
sleep(1);
}
我已使用
编译了此代码perlcc -o compiled while.pl
然后我执行了正常代码while.pl
和编译代码compiled
。
我使用ps
命令
ps axo %cpu,%mem,command | grep "while\|compiled"
0.0 0.0 /usr/bin/perl ./while.pl
0.0 0.1 ./compiled
所以我的问题是:
while.pl
相比,为什么编译的代码会占用更多内存?答案 0 :(得分:3)
始终编译Perl代码。你正在做的是事先编译它而不是在运行时。
在运行时加载已编译的表单需要更多内存,因为您正在加载正常加载的所有内容之上的编译表单加载器。