• php函数mt_rand和rand 速度测试


    今天在写代码时,看到以前的同时写了一个取随机数,用到了mt_rand(2,19)

    就顺手搜了一下,mt_rand和rand的区别。

    先看官方的解释

    mt_rand 和 rand

    mt_rand — 生成更好的随机数

    rand — 产生一个随机整数

    其实两个函数的功能是没有区别的,都是生成一个随机数字。

    从网上拷贝了一个例子,看看两个函数的运行时间。。

    <?php
     
    function microtime_float()
    {
        list($usec, $sec) = explode(" ", microtime());
        return ((float)$usec + (float)$sec);
    }
    $time_start = microtime_float();
    for($i=0; $i<1000000; ++$i)
    {
        rand();
    }
    $time_end = microtime_float();
    $time = $time_end - $time_start;
    echo "rand() cost $time seconds
    ";
    -
    -                                                                                                                         
    $time_start = microtime_float();
    for($i=0; $i<1000000; ++$i)
    {
        mt_rand();
    }
    $time_end = microtime_float();
    $time = $time_end - $time_start;
    echo "mt_rand() cost $time seconds
    ";

    运行结果:

    第一次:
    rand() cost 0.14121580123901 seconds
    mt_rand() cost 0.11780881881714 seconds
    第二次:
    rand() cost 0.13028216362 seconds
    mt_rand() cost 0.11082696914673 seconds
    第三次:
    rand() cost 0.12766790390015 seconds
    mt_rand() cost 0.10724091529846 seconds

    可以看到,mt_rand 比 rand的速度快~

  • 相关阅读:
    ubuntu16.04解决播放swf视频文件问题
    ubuntu下设置clion是使用clang和clang++
    Linux 下没有conio.h 已解决
    适合最新版docker自定义启动配置
    nginx限制ip并发数
    nginx 403错误
    ubuntu 支持中文
    CentOS 5 上使用yum同时安装32位和64位包的解决方法
    rhel yum报错
    因为swap分区无法启动
  • 原文地址:https://www.cnblogs.com/wangkongming/p/4811063.html
Copyright © 2020-2023  润新知