指數運算也可以縮減成乘法,下面是將PHP內建的pow()函式與自訂用乘法的pow2()所做的執行時間比較
//================ // 計算執行時間 //================ function runTime($fn,$params){ $start = time() + microtime(); call_user_func ($fn,$params[0],$params[1]); $end = time() + microtime(); return number_format($end-$start,8); } //================ // 自訂的 pow2() //================ function pow2($base,$ext){ $v = 1; settype($v,'double'); for($i=$exp;$i資料參考:大師談Java遊戲設計
這個原理是利用先前計算的結果快速運算,而不是每個數值都從頭計算起,這個方法可以套用在其它的數字模式上。另外在PHP中,宣告變數的型態也能加速程式的執行(前提你必需確定這個變數的型態不會再改變),還有for迴圈利用遞減的運算方式,執行上也會比用遞增方式略快。
全站熱搜
留言列表