使用系统 VS 实现包调用 perl 脚本
calling perl script with system VS implementing package
首先让我举一个我正在处理的例子:
我经常调用以前工程师的现有 Perl 脚本来处理一些数据,然后进一步处理我的脚本。我使用 system
或 back-ticks
在我的脚本中调用其他人的脚本。
现在,我想知道如果我将这些脚本重写为包并使用 require
或 use
将这些包包含在我的脚本中,它会提高处理速度吗?会有多大的不同?
好处:
- 这将节省加载 shell、加载
perl
、编译脚本及其使用的模块所花费的时间。这是几秒钟最小值,但可能会更长。
- 如果您必须序列化数据以传递给 child,您还可以节省序列化和反序列化数据所花费的时间。
- 它将允许更灵活的接口。
- 这将使错误处理更容易和更灵活。
缺点:
- 由于现在一切都在同一个过程中,child 对 parent 的影响可能会大得多。例如child 中的崩溃将摧毁 parent。
首先让我举一个我正在处理的例子:
我经常调用以前工程师的现有 Perl 脚本来处理一些数据,然后进一步处理我的脚本。我使用 system
或 back-ticks
在我的脚本中调用其他人的脚本。
现在,我想知道如果我将这些脚本重写为包并使用 require
或 use
将这些包包含在我的脚本中,它会提高处理速度吗?会有多大的不同?
好处:
- 这将节省加载 shell、加载
perl
、编译脚本及其使用的模块所花费的时间。这是几秒钟最小值,但可能会更长。 - 如果您必须序列化数据以传递给 child,您还可以节省序列化和反序列化数据所花费的时间。
- 它将允许更灵活的接口。
- 这将使错误处理更容易和更灵活。
缺点:
- 由于现在一切都在同一个过程中,child 对 parent 的影响可能会大得多。例如child 中的崩溃将摧毁 parent。