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腳本使用大量函式庫時,執行速度會更快。

相關內容