PHP中的类型提示的性能开销有多重要-在决定是否使用它时是否足够重要?
最佳答案
不,那不重要。如果您需要做一些算法密集的事情,例如声音处理或3D编程,则应该使用另一种编程语言。
如果您需要硬数据,请进行基准测试...
<?php
function with_typehint(array $bla)
{
if(count($bla) > 55) {
die("Array to big");
}
}
function dont_typehint($bla)
{
if(count($bla) > 55) {
die("Array to big");
}
}
function benchmark($fn)
{
$start = microtime(TRUE);
$array = array("bla", 3);
for($i=0; $i<1000000; $i++) {
$fn($array);
}
$end = microtime(TRUE);
return $end-$start;
}
printf("with typehint: %.3fs\n", benchmark("with_typehint"));
printf("dont typehint: %.3fs\n", benchmark("dont_typehint"));
在我的计算机上,性能是相同的。有时使用更快,有时无需键入提示:
$ php Documents/type_hinting.php
with typehint: 0.432s
dont typehint: 0.428s
$ php Documents/type_hinting.php
with typehint: 0.414s
dont typehint: 0.416s