пенсионер
С нами с 07.11.02
Сообщения: 2612
Рейтинг: 1166
|
Добавлено: 02/12/04 в 23:41 |
продолжая тему оптимизации РНР скриптов...
я привык писать скрипты не декларируя переменные,
и используя методы которые часто дают варнинги
при работе скриптов....
т.е. у меня постоянно можно встетить что то типа
<?
$g=5;
while($a<$g)
{
$a++;
}
// дает варнинг что А не определенно.
if($a=fgets($g,1024))
{
echo $a;
}
// дает варнинг присвоения в условии. подобную констукцию юзаю практически везде.
С одной стороны, чем меньше команд - тем быстрее должно все работать... с другой, все таки гложат сомнения что раз компилятор выдает варнинги, то возможно из за этого теряется время выполнения скрипта. Как проверить это дело на практике идей нет абсолютно никаких
Кто что думает (с точки зрения скорости выполнения скрипта) ?
|
|
|
|
С нами с 27.02.03
Сообщения: 873
Рейтинг: 402
|
Добавлено: 03/12/04 в 00:10 |
bog писал: | С одной стороны, чем меньше команд - тем быстрее должно все работать... |
Мягко говоря не совсем так...
К-во команд - это оно в коде видно в твоем, а в откомпилированной конструкции количество команд зависит от правильного стиля программирования целиком и полностью...
Варнинги в логи - это кстати тоже лишнее время, хотя их конечно вырубить можно.
Ты очень удивишься к-ву сэкономленного на поиске тупых багов времени, когда попробуешь писать грамотный код.
|
|
|
|
www.phpdevs.com
С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105
|
Добавлено: 03/12/04 в 13:20 |
Все относительно. Для скриптика на 5 минут, можно и не изголятся, а просто поставить @ .
Если же делается что то серьезное, то тут по минимуму
ini_set('display_errors','1');
error_reporting(E_ALL);
set_error_handler("local_err_handler");
|
|
Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.
|
1
|
|
|
С нами с 30.06.03
Сообщения: 794
Рейтинг: 202
|
Добавлено: 03/12/04 в 14:15 |
Stek писал: | Все относительно. Для скриптика на 5 минут, можно и не изголятся, а просто поставить @ |
А если больше 1000 секунд скрипт работает, то как обойти ограничение по таймауту? (сорри за оффтоп)
|
|
Я бы взял частями, но мне нужно сразу=))
|
0
|
|
|
С нами с 31.10.04
Сообщения: 1978
Рейтинг: 1884
|
Добавлено: 03/12/04 в 14:28 |
Alpha_Juno писал: | А если больше 1000 секунд скрипт работает, то как обойти ограничение по таймауту? (сорри за оффтоп) |
void set_time_limit ( int seconds)
|
|
|
|
Cкриптоманьяк
С нами с 14.09.00
Сообщения: 1181
Рейтинг: 245
|
Добавлено: 03/12/04 в 15:00 |
ВСЕГДА, в любом языке надо инициализировать переменные.
Это такая базовая истина, она не обсуждается.
Просто запомни это и делай так.
Аминь.
|
|
|
|
пенсионер
С нами с 07.11.02
Сообщения: 2612
Рейтинг: 1166
|
Добавлено: 03/12/04 в 15:27 |
ок, переменные буду декларировать.
но так как конструкции типа
while($a=fgets($g,1024))
самые быстрые по моим тестам, то их оставляю, а чтоб
варнинги не тормозили скрипт полностью их вырубаем через error_reporting(0);
ini_set('log_errors','0');
так ?
з.ы. отладка на отдельном сервере идет. меня интересует оптимизация продакшн скрипта.
|
|
|
|
С нами с 30.06.03
Сообщения: 794
Рейтинг: 202
|
Добавлено: 03/12/04 в 15:34 |
Woot писал: | void set_time_limit ( int seconds) |
Вот блин так не катит=((( максимум 1000=((
set_time_limit ( 20000), все равно не больше 1000 секунд, что делать?
без set_time_limit - 30 секунд, по дефолту
Как пусить скрипт работающий часов 6 чтобы его по таймауту не вырубило?
еще раз сории за оффтоп=))
|
|
Я бы взял частями, но мне нужно сразу=))
|
0
|
|
|
[www]
С нами с 14.07.04
Сообщения: 1693
Рейтинг: 872
|
Добавлено: 03/12/04 в 15:48 |
set_time_limit(0);
unlimited ))
|
|
|
|
С нами с 30.06.03
Сообщения: 794
Рейтинг: 202
|
Добавлено: 03/12/04 в 16:13 |
x10 respect Ж))))))))
|
|
Я бы взял частями, но мне нужно сразу=))
|
0
|
|
|
пенсионер
С нами с 07.11.02
Сообщения: 2612
Рейтинг: 1166
|
Добавлено: 03/12/04 в 16:21 |
Alpha_Juno писал: | Вот блин так не катит=((( максимум 1000=((
set_time_limit ( 20000), все равно не больше 1000 секунд, что делать?
без set_time_limit - 30 секунд, по дефолту
Как пусить скрипт работающий часов 6 чтобы его по таймауту не вырубило?
еще раз сории за оффтоп=)) |
значит скорее всего не в этом дело.
попробуй еще добавить ignore_user_abort (не помню как точно пишется)
|
|
|
|
Друг зайцев
С нами с 25.01.03
Сообщения: 898
Рейтинг: 115
|
Добавлено: 03/12/04 в 17:41 |
bog писал: | ок, переменные буду декларировать.
но так как конструкции типа
while($a=fgets($g,1024))
самые быстрые по моим тестам, то их оставляю, а чтоб
варнинги не тормозили скрипт полностью их вырубаем через error_reporting(0);
ini_set('log_errors','0');
так ?
з.ы. отладка на отдельном сервере идет. меня интересует оптимизация продакшн скрипта. |
нах
мы воспитаны на васике
|
|
|
|
пенсионер
С нами с 07.11.02
Сообщения: 2612
Рейтинг: 1166
|
Добавлено: 03/12/04 в 18:01 |
машинный код рулит
|
|
|
|