ЖУТЬ!
он не неоптимаьный! Он вообще нерабочий.
list($micro,$time)=explode(" ",microtime());
$stamp=$micro+$time;
$data=file("log.txt");
for($i=0;$i<200;$i++)
{
if(ereg("(.*) - - \\[(.*)\\] \\"(.*)\\" (.*) \\"(.*)\\" \\"(.*)\\"",$data[$i],$regs))
{
if(ereg("styles.css",$regs[3])){print "Типа $regs[1] в $regs[2] решил проверить на наличие иконки
";}
}
}
list($micro,$time)=explode(" ",microtime());
echo ($micro+$time)-$stamp;
Только 200 итераций он деает 8 секунд!!!
А вот это
$data=file("log.txt");
for($i=0;$i<sizeof($data);$i++) {
if(strstr($data[$i],"styles.css")) {
if(ereg("(.*) - - \\[(.*)\\] \\"(.*)\\" (.*) \\"(.*)\\" \\"(.*)\\"",$data[$i],$regs)) echo "Типа $regs[1] в $regs[2] решил проверить
";
}
}
отработало за секунду, а весь лог в 400к - за 12.
Честно говоря, я не ожидал такой огромной разницы.