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\n";
-
-
$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\n";

运行结果:

第一次:
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的速度快~

时间: 2024-12-17 18:09:42

php函数mt_rand和rand 速度测试的相关文章

php生成随机数mt_rand和rand

/** * 登录成功后用手机号时间戳随机数 * 生成token */ public static function token($tel) { return md5(mt_rand().$tel.time()); } /** * 随机字符串昵称 */ public static function rand_char(){ $l = 6; $c = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; for ($s =

StretchDIBits速度测试(HALFTONE)

StretchDIBits速度测试(HALFTONE) 下面实验中显示窗口大小为1024*768,拉伸模式设为HALFTONE. 一.单通道图像 (1) 保持图像高度为1024,宽度从24到2024递增,递增间隔为50,下表为统计的显示耗时与图像宽度的关系: 图像大小 耗时(ms) 24*1024 9.796325 74*1024 10.30184 124*1024 11.06231 174*1024 11.52316 224*1024 12.18715 274*1024 12.82155 32

php 函数strtr 替换函数实例解析 strtr 速度比较快

先来看看这个php字符串替换函数 PHP字符串替换函数strtr()的两种状态 strtr(string,from,to) 或者strtr(string,array) 首先针对PHP字符串替换函数strtr()第一种方式 我们看看下面的举例: <?php echo strtr("I Love you","Lo","lO"); ?> 得到的结果是 I lOve yOu 这个结果提醒我们 1.strtr它是区分大小写的 2.PHP字符串替

Web页面速度测试工具

开发框架的时间,想测试单例和多例下对性能的影响,找了下没有特别简单易用的测试工具. 估摸着搞了一个小工具. 针对.net Framework的2.0,3.5,4.0版本. WebHttpTest2.0 WebHttpTest3.5 WebHttpTest4.0 Web页面速度测试工具,码迷,mamicode.com

osip报文的解析速度测试

在惊鸿一瞥中,发现osip_event.c文件测试解析osip报文的速度非常值得我们参考,尤其是大数据解析的时候:osip_event_t *osip  {    int kk;    int pstime1, pstime;    struct timespec tv1; clock_get_time (CLOCK_REALTIME, &tv1);    pstime = ((tv1.tv_sec * 1000) + (tv1.tv_nsec / 1000000));    for (kk =

选择服务器如何进行速度测试?

不管是虚拟主机还是服务器,我们都知道,它的稳定性很重要,访问速度也有着决定性的作用.一般来说,如果访问速度不好的话,会让网站加载非常慢.小编给大家介绍一下租用服务器前怎样检测访问速度. 第一种方法:常见的ping命令. 这个命令与IT打交道的站长并不陌生,一般来说,网站速度不好,或者测试一下是网站问题还是服务器问题,都会使用这个命令进行测试.那么具体怎样检测租用服务器的网络是否通畅无延迟呢? 在电脑中点击开始,运行,然后输入CMD打开DOS命令窗口.然后输入网站网址,或者服务器的IP地址,格式为

如何选择服务器如何进行速度测试?

不管是虚拟主机还是服务器,我们都知道,它的稳定性很重要,访问速度也有着决定性的作用.一般来说,如果访问速度不好的话,会让网站加载非常慢.小编给大家介绍一下租用服务器前怎样检测访问速度. 第一种方法:常见的ping命令. 这个命令与IT打交道的站长并不陌生,一般来说,网站速度不好,或者测试一下是网站问题还是服务器问题,都会使用这个命令进行测试.那么具体怎样检测租用服务器的网络是否通畅无延迟呢? 在电脑中点击开始,运行,然后输入CMD打开DOS命令窗口.然后输入网站网址,或者服务器的IP地址,格式为

引擎渲染速度测试--我js代码写得少你不要骗我

上一张图,很多人都看过的 地址:http://aui.github.io/artTemplate/test/test-speed.html 这个地址是在看artTemplate的时候看到的,很早都看过但是没去研究为什么artTemplate为什么那么快,其他的为什么那么慢.最近看underscore的源码,先看了template部分,再想起这张图,我就不服了.凭神马underscore那么慢,基本上就是倒数第二的成绩.我代码写得少,上面那个图是在骗我吗!!! 于是看了下作者的测试代码,也在作者那

MySQL查询速度测试-&gt;连接查询

快速生成大量数据 INSERT INTO tableName1(pn_code,belong_id,factory_number) SELECT pn_code,belong_id,factory_number FROM tableName1 四张表合计4000万条数据, 如果不带where,联查的速度是非常快的,前提是需要带limit,limit越小越快, 如果联查后带where 筛选,速度会非常慢,所以大数据量下,有where根据实际情况,可以分批进行查询 下面附带记得函数和存储过程备用 1