微慑信息网

phpの正则耗时测试 - vuless.com

上次改脚本,直接对标题进行正则:

 

准备做的几个事儿

后来发现未先对标题是否存在关键字进行判断,怀疑对性能有影响,在本地1.3W数据测试了下:

测试:

(1)未加标题判断:

<?php
// vuless.com 
//连接数据库
$servername = "localhost";
$username = "root";
$password = "123456";
$dbname = "test";
 
// 创建连接
$conn = new mysqli($servername, $username, $password,$dbname);
 
// 检测连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
} 
echo "连接成功"."<br>";
//读取数据
$t1=microtime(true); 
$sql = "SELECT post_title FROM wp_posts";
$result = $conn->query($sql);
echo $result->num_rows;
    while($row = $result->fetch_assoc()) {

			$cve = strtoupper($row["post_title"]);
			$res = stristr($cve, 'cve');
			
			preg_match_all('/(CVE|cve|CNVD|cnvd)-[0-9]{0,}-[0-9]{0,}/', $cve, $matches);
			$res = $matches[0];
			if (count($res)>0){
			echo "--------------".$res[0]."<br>";
				}
			
    }
echo "<br/>";

$t2 = microtime(true); 

echo ($t2-$t1)*1000;
?>

读取耗时约:1520ms左右

(2)加标题判断:

<?php
//连接数据库
$servername = "localhost";
$username = "root";
$password = "123456";
$dbname = "test";
 
// 创建连接
$conn = new mysqli($servername, $username, $password,$dbname);
 
// 检测连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
} 
echo "连接成功"."<br>";
//读取数据
$t1=microtime(true); 
$sql = "SELECT post_title FROM wp_posts";
$result = $conn->query($sql);
echo $result->num_rows;
    while($row = $result->fetch_assoc()) {

			$cve = strtoupper($row["post_title"]);
			$res = stristr($cve, 'cve');
			if($res==true){
			
			preg_match_all('/(CVE|cve|CNVD|cnvd)-[0-9]{0,}-[0-9]{0,}/', $cve, $matches);
			$res = $matches[0];
			if (count($res)>0){
			echo "--------------".$res[0]."<br>";
				}
			}
    }
echo "<br/>";

$t2 = microtime(true); 

echo ($t2-$t1)*1000;
// vuless.com 
?>

读取耗时约:1220ms左右

结论:

在处理大量数据的时候,效果还是笔记明显的,如果是单条数据,也大约有1-2ms的区别


 

赞(0) 打赏
转载请附本站链接,未经允许不得转载,,谢谢:微慑信息网-VulSee.com » phpの正则耗时测试 - vuless.com

评论 抢沙发

微慑信息网 专注工匠精神

微慑信息网-VulSee.com-关注前沿安全态势,聚合网络安全漏洞信息,分享安全文档案例

访问我们联系我们

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册