我有一個Perl程序,需要兩個參數的 英語單詞每行一個組成字典文件,並與串聯詞每 還行之一,像這樣的文件:運行命令平行
lovetoplayguitar
...
...
所以通常使用的程序,如:
perl ./splitwords.pl words-en.txt bigfile.txt
它打印結果stdout
。
我試圖把它通過GNU parallel
這樣的:
time parallel -n 2 -j8 -k perl ./splitwords.pl {1} {2} ::: words-en.txt bigfile.txt > splitted.txt
,但它不工作的方式..試了很多組合,但迄今爲止未能 使用並行運行它。
編輯
其實這似乎是工作,但它僅使用一個核心..?爲什麼..?
你期望GNU並行運行? GNU Parallel不能神奇地並行化你的程序,但它可以用不同的參數運行你的程序的多個副本。你期望它能運行你的程序有哪些論據? –
這是我正面臨的一個問題,因爲兩個參數是兩個文件名,它們被傳遞給./splitwords.pl程序,所以它只接受那兩個,它們是相同的 – branquito
如果你不知道如何分割你的任務分成更小的任務,那麼GNU Parallel就不可能爲你做:它無法猜測如何並行化任務。看起來你認爲這個任務可以並行化,你能解釋一下如何將任務分成更小的工作嗎? –