Perl性能:for(1..200000)vs for($ _ = 1; $ _ <= 200000; $ _ ++)

Bry*_*eld 1 memory perl performance

for(1..200000) {...} VS for($_=1;$_<=200000;$_++) {...}

第一个是否必须创建一个包含200,000个项目的数组,或者它与第二个项目大致相同?

hob*_*bbs 10

我可以明确地说,for使用range($lower .. $upper)不会在内存中创建一个实际的临时列表.这是在12年前做的,但现在不行了.事实上,它提供了比显式C风格的for-loop 更好的性能(正如其他人的基准测试所示),因为Perl能够在漂亮,高效的内部代码中进行计数循环.你不应该害怕使用它.