$st = microtime(true);
for($i=0;$i<10000000;$i++)
{
a('1','2');
}
echo microtime(true)-$st;
上面代码耗时结果:
两个参数都是字符串:
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%的提升,当然这中间还有加法运算自身的损耗,如果去掉加法运算后,可能性能提升更加厉害. 希望本文对你有用