我想知道是否有任何linux命令可以更快地执行perl文件?
我使用以下命令检查执行时间:
time ./rspd.pl
产出:
1.003u 0.480s 3:34.90 0.6% 0+0k 56+5520io 0pf+0w我的一些perl脚本需要很长时间才能执行finishIn,在这种情况下,我可以使用任何其他linux命令来加快执行速度吗?
发布于 2016-10-27 21:23:24
唯一的答案是不。没有这样的通用命令来加速另一个像perl脚本这样的任意可执行文件。
为了使您的rspd.pl更快,您应该首先知道它正在做什么。为什么这么慢?CPU,RAM,网络还是磁盘I/O?这称为“分析”,例如,请参见https://stackoverflow.com/questions/4371714/how-do-i-profile-my-perl-programs
发布于 2016-10-27 12:57:45
那得看情况。
一般说来,不。你不能这么做。
然而,有时你可以。例如,假设您有一个程序,它对字符串进行一些高级操作,并独立地更改每一行。然后,您可以使用GNU parallel --该程序旨在并行运行程序。
然而,你需要知道你的程序做什么,什么是瓶颈。默认情况下,一些程序将自己划分为较小的子进程,这样就不会得到加速比。一些程序大量使用光盘,因为这是瓶颈,您将得不到任何改进。有些程序有一个逻辑不能用于分割的文件。
GNU并行将文件分成更小的部分,并在每个部分上运行脚本,合并结果。如果您运行类似于awk的操作,它会更改第一列和第二列,这是很好的。当您运行一个将dog更改为N的程序时,这一点也不太好,其中N是到目前为止见过单词dog的次数。
发布于 2016-10-27 12:43:25
不是的。
您所能做的最好是使用一个命令在不同的线程中分发,因此可能是不同的内核,从而使它运行得更快。例如,看看GNU并行。
https://unix.stackexchange.com/questions/319302
复制相似问题