#1 2009.07.24 12:41

WapStyle
Участник
Откуда: Ирбит
Зарегистрирован: 2008.03.26
Сообщений: 475
Карма: 3
Профиль Веб-сайт

Оптимизация php кода

Вот решил оптимизировать код на скорость.

Так вот пришол в тупик.

на что заменить чтобы было побыстрее и попроще
вот куски кода:

Код:

1
2
3
if(!eregi('[A-z0-9]{32}',$sess)){
$sess=md5(rand(09009,999999));
}

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
for($i=0;$i<count($fset);$i++ ){
 
if(ereg('[^//].*=', trim($fset[$i]))){
$sset=explode('=', trim($fset[$i]), 2);
$sset[0]=eregi_replace('(^ *)|( *$)', '', $sset[0]);
$sname=$sset[0];
$set_komm[$sname]=eregi_replace('^.*//', '', $sset[1]);
$set_komm[$sname]=eregi_replace('(^ *)|( *$)', '', $set_komm[$sname]);
$sset[1]=eregi_replace('//.*$', '', $sset[1]);
$sset[1]=eregi_replace('(^ *)|( *$)', '', $sset[1]);
$set[$sname]=$sset[1];
}
}

Код:

1
2
3
4
5
if(isset($_SERVER["HTTP_USER_AGENT"]) && (eregi('windows', $_SERVER["HTTP_USER_AGENT"]) ||eregi('linux', $_SERVER["HTTP_USER_AGENT"]) ||eregi('bsd', $_SERVER["HTTP_USER_AGENT"]) ||eregi('x11', $_SERVER["HTTP_USER_AGENT"]) ||eregi('unix', $_SERVER["HTTP_USER_AGENT"]) ||eregi('macos', $_SERVER["HTTP_USER_AGENT"]) ||eregi('macintosh', $_SERVER["HTTP_USER_AGENT"]))){
$webbrowser=true;
}else{
$webbrowser=false;
}

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR']!='127.0.0.1' && ereg("^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$",$_SERVER['HTTP_X_FORWARDED_FOR'])){
$ip2['xff']=$_SERVER['HTTP_X_FORWARDED_FOR'];
$ipa[] = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
 
if(isset($_SERVER['HTTP_CLIENT_IP']) && $_SERVER['HTTP_CLIENT_IP']!='127.0.0.1' && ereg("^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$",$_SERVER['HTTP_CLIENT_IP'])){
$ip2['cl']=$_SERVER['HTTP_CLIENT_IP'];
$ipa[] = $_SERVER['HTTP_CLIENT_IP'];
}
 
if(isset($_SERVER['REMOTE_ADDR']) && ereg("^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$",$_SERVER['REMOTE_ADDR'])){
$ip2['add']=$_SERVER['REMOTE_ADDR'];
$ipa[] = $_SERVER['REMOTE_ADDR'];
}

Кто поможет?

Неактивен

#2 2009.07.24 12:53

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Оптимизация php кода

во первых убрать все ereg'i и заменить как минимум preg_ регулярками. а лучше строковыми функциями. в некоторых случаях делающиеся тут проверки вообще не нужны, как например фильтрация $_SERVER['REMOTE_ADDR']

Неактивен

#3 2009.07.24 13:34

WapStyle
Участник
Откуда: Ирбит
Зарегистрирован: 2008.03.26
Сообщений: 475
Карма: 3
Профиль Веб-сайт

Re: Оптимизация php кода

А как можно узнать скорость выполнения запросов к базе и всего остального?

Неактивен

#4 2009.07.24 14:37

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Оптимизация php кода

в гманагере уже есть подсчет занятого SQL запросом времени. уже готов гманагер с отображением занятого времени и занятой оперативой паматью в eval, но пока эту версию не выкладывал в сеть, т.к. качество интернета на данный момент не позволяет. а вообще, в начале кода смотришь microtime и в конце. и сверяешь их.

Неактивен

#5 2009.07.24 14:54

WapStyle
Участник
Откуда: Ирбит
Зарегистрирован: 2008.03.26
Сообщений: 475
Карма: 3
Профиль Веб-сайт

Re: Оптимизация php кода

А если так?

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Debug {
function startTimer() {
global $starttime;
$mtime = microtime ();
$mtime = explode (' ', $mtime);
$mtime = $mtime[1] + $mtime[0];
$starttime = $mtime;
}
 
 
function endTimer() {
global $starttime;
$mtime = microtime ();
$mtime = explode (' ', $mtime);
$mtime = $mtime[1] + $mtime[0];
$endtime = $mtime;
$totaltime = round (($endtime - $starttime), 4);
return $totaltime;
}
}

$Debug = new Debug;
$Debug->startTimer();

//Тут код

echo $Debug->endTimer();

Неактивен

#6 2009.07.24 17:45

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Оптимизация php кода

smile)
лучше писать microtime(true); и не изобретать велосипедов)

Неактивен

#7 2009.07.24 19:55

WapStyle
Участник
Откуда: Ирбит
Зарегистрирован: 2008.03.26
Сообщений: 475
Карма: 3
Профиль Веб-сайт

Re: Оптимизация php кода

big_smile

Неактивен

Дополнительно

forum.wapinet.ru

PunBB Mod v0.6.2
0.010 s