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