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=; $i<; ++$i)
{
rand();
}
$time_end = microtime_float();
$time = $time_end - $time_start;
echo "rand() cost $time seconds\n";
-
-
$time_start = microtime_float();
for($i=; $i<; ++$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的速度快~
php函数mt_rand和rand 速度测试的更多相关文章
- SubSonic3.0插件分页查询速度测试
使用SubSonic3.0一段时间了,一直都想找机会测试一下各种查询分页速度,对比一下插件的查询效率到底怎么样,所以昨天写好了测试程序,准备好1K.1W.10W.50W和100W记录的数据表,早上详细 ...
- iOS5系统API和5个开源库的JSON解析速度测试
iOS5系统API和5个开源库的JSON解析速度测试 iOS5新增了JSON解析的API,我们将其和其他五个开源的JSON解析库进行了解析速度的测试,下面是测试的结果和工程代码附件. 我们选择的测试对 ...
- VPS性能测试(3):磁盘IO读写速度、SSD硬盘速度测试
1.磁盘IO,即输入/输出(Input/Output),这是测试磁盘性能一个重要指标,一些便宜的VPS主机为了降低成本,以大量的低性能的硬盘来充当服务器,导致VPS主机因为IO差而拖了整个主机性能的后 ...
- 使用mt_rand代替rand
mt_rand比rand生成的随机数“更随机”,重复值较少 下面是测试: <?php function t1($num=10000){ $arr = array(); for ($i=0; $i ...
- StretchDIBits速度测试(HALFTONE)
StretchDIBits速度测试(HALFTONE) 下面实验中显示窗口大小为1024*768,拉伸模式设为HALFTONE. 一.单通道图像 (1) 保持图像高度为1024,宽度从24到2024递 ...
- snprintf/strncpy/strlcpy速度测试
速度测试代码: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <un ...
- TF卡速度测试对比 Class数越高速度越快
存储卡(TF卡)是手机扩展存储的大杀器,让你多装n部学习资料,多装n个外语听力练习.除了装东西外,存储卡性能不佳也会影响手机的整体性能以及体验的.本文主要针对Android手机,我是懒人,但我讨厌懒人 ...
- 手机闪存速度测试工具,AndroBench
手机闪存速度测试工具,AndroBench
- 在线HTTP速度测试(响应时间测试)及浏览器兼容测试
一.前言 网站的响应时间,是判断一个网站是否是好网站的重要的因素之一.百度首页的响应时间在全国各个省份小于10ms.这个响应时间远远好于竞争对手.根据美丽说的技术负责人分析,美丽说访问速度提升10%, ...
随机推荐
- ActiveMQ跑起来
转自:http://blog.163.com/chengwei_1104/blog/static/5364527420138231573547/?suggestedreading&wumii ...
- webapi获取IP的方式
using System.Net.Http; public static class HttpRequestMessageExtensions { private const string HttpC ...
- 2.头文件<bits/stdc++.h>
用这种方法声明头文件只需两行代码 #include<bits/stdc++.h> using namespace std; 这个头文件包含以下等等C++中包含的所有头文件: #inclu ...
- U盘容量减少的解决办法
今天是使用以前的U盘的时候发现原来4G的U盘容量居然只剩下了700M,不是说u盘的可用空间是700M,而是在电脑上面显示的总空间为700M.在电脑上面格式化之后也没起作用. 经过Google找到了在w ...
- JSP重定向小例子(不讲原理)
编写一个JSP页面lucknum.jsp,产生0-9之间的随机数作为用户幸运数字,将其保存到会话中,并重定向到另一个页面showLuckNum.jsp中,在该页面中将用户的幸运数字显示出来 luckn ...
- 【项目】'NSRangeException', reason: '*** -[__NSArrayM removeObjectAtIndex:]: index 2 beyond bounds [0 .. 1]'
问题代码: [self.assetsArray objectAtIndex:indexPath.row] 问题解决思路:这里
- BZOJ3393:[USACO LPHONE] 激光通讯
分层图+堆优化的dijkstra 将原图分为4层,分别是只向上,向下,向左,向右建立边,然后层与层之间的转移很好处理.稠密图,应该用堆优化的dijkstra. //OJ 1845 //by Cydia ...
- 9.12 其他样式;JS
Display 显示block和隐藏none,不占位置Visbility 显示visible和隐藏hidden,占位置Overflow 超出范围 hidden隐藏透明圆角 Js脚本语言(JavaScr ...
- git push to nas
1 建nas目录 在nas的/volume1/git_repos目录下新建相关的目录,并在该目录下运行git init --bare cd /volume1/git_repos mkdir wifi_ ...
- JS定时器
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...