如果你正嘗試向乙個c程式設計師解釋為什麼perl好,自動的記憶術是乙個好例子。幾乎所有的程式設計師都熟悉快取技術。即使他們沒在自己的程式裡使用過任何快取技術,他們也一定熟悉這個概念,來自網頁瀏覽器裡的,他們的計算機的快取記憶體裡的,dns伺服器裡的,他們的網頁**伺服器裡的,或別的地方的快取。快取,就像大多數簡單實用的主意,是無處不在的。
增加快取不是非常麻煩,但至少需要幾分鐘修改**。算上所有修改,你有可能犯錯,這不得不計算進平均時間,一旦你完成了,可能發現快取是個糟糕的主意,因為快取管理的開銷比函式的執行時間更長,或者因為在一次典型執行中,快取命中的沒有期望的多;那麼就不得不移除快取**,然後你再次冒著犯錯誤的風險。這不是誇大問題,當然,在每個方向上至少會花費幾分鐘。
有了記憶術,增加快取**不再需要幾分鐘了,只要幾秒鐘就可以了。可以增加一行這樣的**:
memoize 'myfunction';
perl高階排序
perl 的高階排序手段 語法 my sorted array sort sub sort method original array 這裡的 sub sort method 就是我們制定的排序策略,一般是乙個sub routine 的名字,或者其 示例 my result sort by numb...
perl高階排序
perl 的高階排序手段 語法 my sorted array sort sub sort method original array 這裡的 sub sort method 就是我們制定的排序策略,一般是乙個sub routine 的名字,或者其 示例 my result sort by numb...
perl函式中的傳引用用法
自己的 sub inshash 1 close infile while key,value each ref hash field inshash tmp filenm src 2,hash field src perl中的是如何在函式中使用引用引數的。有時不想返回陣列或者其他形式,希望直接修改函...