为什么G-wan perl嵌入式c脚本比perl脚本本身慢?

时间:2014-11-30 03:19:00

标签: perl g-wan

尝试使用Inline C运行以下代码,速度为10reqs / s,而纯perl hello world为110reqs / s。有什么问题?

#!/usr/bin/perl -w
use Inline (Config => DIRECTORY => '/home/example/.Inline',);
use Inline 'C';


greet();
exit 200;


__END__

__C__

void greet() {
printf("Hello, world\n");
}

1 个答案:

答案 0 :(得分:2)

因为你的脚本没有做任何有用的事情。甚至忽略第一次运行(它必须编译C源代码),Inline :: C对校验和C源的工作量,检查它是否已经编译并动态链接该函数是方式更多的工作,而不仅仅是印刷" Hello world"。如果你比较一个Perl版本和一个执行一些相当昂贵的数值计算的函数的Inline :: C版本,你会看到一个非常不同的结果。