我有一個龐大的Perl腳本(1500+行),大約需要8個小時才能運行。如何避免重新處理已經在我的Perl腳本中處理過的輸入?
它從HTML生成SQL,然後導入到網站。基本上,它將整個論壇反向工程化爲一個新的(我有權限)。
腳本從頭開始,每次解析年齡未發生變化的HTML,然後將其作爲哈希數組存儲在內存中,直到解析完所有HTML爲止,生成SQL。
我希望它將上次的結果預加載到內存中,然後只處理更改,但怎麼做呢?
我有一個龐大的Perl腳本(1500+行),大約需要8個小時才能運行。如何避免重新處理已經在我的Perl腳本中處理過的輸入?
它從HTML生成SQL,然後導入到網站。基本上,它將整個論壇反向工程化爲一個新的(我有權限)。
腳本從頭開始,每次解析年齡未發生變化的HTML,然後將其作爲哈希數組存儲在內存中,直到解析完所有HTML爲止,生成SQL。
我希望它將上次的結果預加載到內存中,然後只處理更改,但怎麼做呢?
那麼你可以使用YAML,JSON,Data::Dumper甚至Storable來轉儲/恢復任意複雜度的perl數據結構。 (好吧,Storable是一種二進制格式,人類無法閱讀並且兼容性選項有限,但有時它很好)。
您還可以使用perl -d:DProf ./myscript.pl ; dprofpp
找出真正的弱點。 (不要這樣做8小時 - dprofpp
將永遠持續)。
看起來像一個不錯的選擇,因爲它可以直接存儲到文件 – Craig 2011-05-04 13:52:35