Linux
是否有任何 linux 命令可以加快文件的執行速度?
我想知道是否有任何linux命令可以更快地執行perl文件?
我使用以下命令檢查執行時間:
time ./rspd.pl
輸出:
1.003u 0.480s 3:34.90 0.6% 0+0k 56+5520io 0pf+0w
我的一些 perl 腳本需要很長時間才能完成在這種情況下,我可以使用任何其他 linux 命令來加快執行速度嗎?
唯一的答案是否定的。沒有這樣的通用命令可以加速另一個任意執行檔,例如您的 perl 腳本。
為了讓你
rspd.pl
更快,你應該首先知道它在做什麼。為什麼慢?CPU、RAM、網路或磁碟 I/O?這稱為“分析”,例如參見 https://stackoverflow.com/questions/4371714/how-do-i-profile-my-perl-programs
這取決於。
一般來說,沒有。你不能那樣做。
但是,有時您可以。例如,假設您有一個程序對字元串進行一些高級操作並獨立更改每一行。然後,您可以使用 GNU
parallel
- 旨在並行執行程序的程序。但是,您需要知道您的程序做了什麼,以及瓶頸是什麼。預設情況下,某些程序會將自己劃分為較小的子程序,因此您不會獲得任何加速。有些程序大量使用磁碟,因為這是瓶頸,你不會得到任何改進。有些程序有一個不能用於分割文件的邏輯。
GNU Parallel 將文件分成更小的部分並在每個部分上執行腳本,合併結果。如果您執行類似
awk
更改第一列和第二列的內容,則此方法可以正常工作。當您執行一個更改為 N 的程序時,這效果不是很好dog
,其中 N 是您到目前為止看到這個詞的次數dog
。