[英]php PCRE functions very slow
我為 txt 文件中的搜索詞創建了一個簡單的腳本。
<?php
$search_term = "lorem";
$file = file('textfile.txt');
foreach($file as $line_number => $line){
$row = preg_match('/' . $search_term . '/i', $line);
echo $row;
}
TXT 文件有 > 7000 行,總共 ~ 6 MB
在 php 5.6、7.0 或 7.1 中,腳本運行時間為 60 - 100 毫秒,但在 php >= 7.2 中,執行時間長達 3.5 秒。
我比較了每個版本的 php.ini 文件,我沒有發現 PCRE 選項有任何差異。
誰能幫我?
提前致謝。
這可能對您更有效,而且速度快如閃電。
$words=explode(' ',$words);
$words=implode('|',$words);
$search=shell_exec( "grep -E '{$words}' data.txt");
$search=explode('\n',$search);
foreach($search as $line){echo '<p>'.$line.'</p>';};
您概述的方法也將使用大量 ram。 我的示例將幾乎不使用任何東西。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.