$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