linux 有没有什么命令可以加快文件的执行速度?

linux 有没有什么命令可以加快文件的执行速度?

我想知道是否有任何linux命令可以更快地执行perl文件?

我使用以下命令来检查执行时间:

time ./rspd.pl

输出:

1.003u 0.480s 3:34.90 0.6% 0+0k 56+5520io 0pf+0w

我的一些 Perl 脚本需要很长时间才能完成在这种情况下我可以使用任何其他 Linux 命令来加快执行速度吗?

答案1

这取决于。

一般来说,没有。你不能那样做。

然而,有时你可以。例如,假设您有一个程序,可以对字符串进行一些高级操作并独立地更改每一行。然后,您可以使用 GNU parallel- 旨在并行运行程序的程序。

但是,您需要知道什么你的程序做了什么,瓶颈是什么。默认情况下,某些程序将自身划分为更小的子进程,因此您不会获得加速。有些程序大量使用光盘,因为这是瓶颈,所以你不会得到任何改进。有些程序的逻辑不能用于分割的文件。

GNU Parallel 将文件分成更小的部分,并在每个部分上运行脚本,合并结果。如果您运行类似awk更改第一列和第二列的操作,则效果很好。当您运行一个更改为 N 的程序时,这效果不太好,其中 N 是您到目前为止dog看到该单词的次数。dog

答案2

唯一的答案是。没有这样的通用命令可以加速另一个任意可执行文件(例如 Perl 脚本)。

为了让你的rspd.pl速度更快,你应该首先知道它在做什么。为什么慢? CPU、RAM、网络还是磁盘 I/O?这称为“分析”,例如参见 https://stackoverflow.com/questions/4371714/how-do-i-profile-my-perl-programs

答案3

不。

您能做的最好的事情就是使用命令分布在不同的线程中,因此可能分布在不同的内核中,使其运行得更快。例如,看看GNU 并行

答案4

将所有perl库存储在ram中,因此当perl脚本使用大量库时,执行速度会更快。

相关内容