场景1:我有一个包装器Perl脚本,它使用另一个Perl模块并在该模块中调用一个函数.
场景2:现在我有相同的包装脚本,模块实现为Perl脚本.在这里,我只是简单地调用而不是使用模块system("perl anotherscript.pl").
两者都做同样的功能,但我看到第二种情况有点延迟.
为什么会这样?它是预期的还是与我的代码有关?
Chr*_*utz 10
在第一种情况下,您有Perl解释器的开销.在第二个,你有两个 Perl解释器的开销.如果您想要第二种方法,请考虑该do函数的备用和少用版本(请参阅参考资料perldoc -f do):
do './anotherscript.pl'
Run Code Online (Sandbox Code Playgroud)
如果Perl解释器设计得很好(它可能是),这可能会比第二个例子快得多,尽管我不知道它与第一个例子相比如何.如果你想要效率,基准.
编辑:如果你不关心两者之间(可能是微不足道的)性能差异,我建议你只使用一个模块.它将使您的代码更加有用,因为虽然脚本只能在一个部分中重复使用,但模块可以在任意多个单独的部分中重复使用.
| 归档时间: |
|
| 查看次数: |
229 次 |
| 最近记录: |