$st = microtime(true); for($i=0;$i<10000000;$i++) { a('1','2'); } echo microtime(true)-$st;
上面代碼耗時結果: php
兩個參數都是字符串: 5.7306799888611 6.1386458873749 7.1626529693604 7.4743030071259 8.0355730056763 5.4463419914246
平均:6.664699475
-------------------------------------------------分割線---------------------------------------------------- 函數
一個參數是字符串一個參數是整型: 4.4273099899292 4.7827498912811 4.5432419776917 4.8051698207855 5.4565041065216 5.4354720115662 5.4501340389252
-------------------------------------------------分割線---------------------------------------------------- 性能
兩個參數都是整型: 4.909465789794 4.247826099395 5.007146120071 4.729896068573 3.060015916824 4.514951944351
平均:4.4115503232
-------------------------------------------------分割線---------------------------------------------------- 優化
從上面看來, 我其實並無作其餘方面的優化, 只是給了擴展函數須要的類型數據, 進而zend省去了類型轉換, 性能就有33.8%的提高,固然這中間還有加法運算自身的損耗,若是去掉加法運算後,可能性能提高更加厲害. 但願本文對你有用 spa