用system VS实现包调用perl脚本



让我先给出一个我正在处理的例子:

我经常调用以前工程师提供的Perl脚本来处理一些数据,然后继续使用我的脚本。我使用systemback-ticks在我的脚本中调用其他人的脚本。

现在,我想知道如果我将这些脚本重写为包,并使用requireuse将这些包包含在我的脚本中,它会增加处理速度吗?会有多大的不同?

效益:

  • 这将节省加载shell,加载perl,编译脚本和它使用的模块所花费的时间。这是几秒最小,但它可以更大。
  • 如果您必须序列化数据以传递给子进程,那么您还可以节省序列化和反序列化数据所花费的时间。
  • 允许更灵活的接口
  • 这将使错误处理更容易和更灵活。

缺点:

  • 由于现在所有进程都处于相同的进程中,子进程可以对父进程产生更大的影响。例如,子进程崩溃会导致父进程崩溃。

最新更新