程序中经常使用uniqid生成唯一id,但发现加了这个函数的代码都会慢一点,仔细测试了一下,发现uniqid的more_entropy设置为true之后,性能大大提高。在不同机器上测试过。 一台普通PC机上相差30倍, 而在cpu很差的虚拟机上相差了4000倍!!!

测试代码:

$t = null;
$t1 = microtime(true);
for($i=1; $i<10000; $i++){
    // $t = uniqid('',true); //这个性能更好
    $t = uniqid(); //性能较差
}
$t2 = microtime(true);
echo ($t2-$t1)."\n";

唯一需要注意的是,设置了more_entropy之后返回值有所不同。