以下是引用sidooh在2009-12-25 12:42:00的发言:
为什么说c程序不一定比perl快呢?我认为编译执行比解释执行快,perl的解释器是用什么语言写的?
我不了解perl,希望您能讲解一下
我同意,因为c本身就不是为了OO而设计的,而python一开始就是围绕着OO而设计的
没错,Perl的解释器是完全用C写的。一般来说解释性的脚本是比编译型的程序慢,但是当你的程序中包含大量的系统功能调用和内核模式中断例程时,你认为谁会更快?在这种情况下至少是一样快的。你认为这段往文件里填字符串的perl和C 哪个更快?
#!/usr/bin/perl
use warnings ;
use strict ;
open OUTPUT , ">ts1.txt" ;
my $i = 0 ;
while ($i++ < 1e6) {
print OUTPUT "Hello World" , " Foo\n" ;
printf "%.2f%%\r", $i * 100 / 1e6 ;
}
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void)
{
FILE * output ;
unsigned int i = 0 ;
output = fopen("ts.txt" , "w+") ;
while (i < 1e6) {
fprintf(output , "Hello World Foo\n") ;
i++ ;
printf("%.2f%%\r" , i * 100 / 1e6) ;
}
fclose(output) ;
return 0 ;
}
现在是不是有种想加入Perl阵营的冲动?
[
本帖最后由 iFreeBSD 于 2009-12-26 11:57 编辑 ]