Реклама на сайте Advertise with us

Еще немного о грамотности написания скриптов.

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

пенсионер

С нами с 07.11.02
Сообщения: 2612
Рейтинг: 1166

Ссылка на сообщениеДобавлено: 02/12/04 в 23:41       Ответить с цитатойцитата 

продолжая тему оптимизации РНР скриптов...
я привык писать скрипты не декларируя переменные,
и используя методы которые часто дают варнинги
при работе скриптов....
т.е. у меня постоянно можно встетить что то типа
<?
$g=5;
while($a<$g)
{
$a++;
}
// дает варнинг что А не определенно.
if($a=fgets($g,1024))
{
echo $a;
}
// дает варнинг присвоения в условии. подобную констукцию юзаю практически везде.

С одной стороны, чем меньше команд - тем быстрее должно все работать... с другой, все таки гложат сомнения что раз компилятор выдает варнинги, то возможно из за этого теряется время выполнения скрипта. Как проверить это дело на практике идей нет абсолютно никаких icon_sad.gif
Кто что думает (с точки зрения скорости выполнения скрипта) ?

Здесь ищу и даю работу^так делаю деньги
тут читаю инфу^веду блог, а вы?

0
 



С нами с 27.02.03
Сообщения: 873
Рейтинг: 402

Ссылка на сообщениеДобавлено: 03/12/04 в 00:10       Ответить с цитатойцитата 

bog писал:
С одной стороны, чем меньше команд - тем быстрее должно все работать...
Мягко говоря не совсем так...
К-во команд - это оно в коде видно в твоем, а в откомпилированной конструкции количество команд зависит от правильного стиля программирования целиком и полностью...
Варнинги в логи - это кстати тоже лишнее время, хотя их конечно вырубить можно.
Ты очень удивишься к-ву сэкономленного на поиске тупых багов времени, когда попробуешь писать грамотный код.

1
 

www.phpdevs.com

С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105


Передовик Master-X (01.09.2005) Передовик Master-X (16.09.2005) Передовик Master-X (01.10.2005) Передовик Master-X (16.08.2006) Передовик Master-X (16.10.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 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)

0
 

Cкриптоманьяк

С нами с 14.09.00
Сообщения: 1181
Рейтинг: 245

Ссылка на сообщениеДобавлено: 03/12/04 в 15:00       Ответить с цитатойцитата 

ВСЕГДА, в любом языке надо инициализировать переменные.
Это такая базовая истина, она не обсуждается.
Просто запомни это и делай так.
Аминь.

1
 

пенсионер

С нами с 07.11.02
Сообщения: 2612
Рейтинг: 1166

Ссылка на сообщениеДобавлено: 03/12/04 в 15:27       Ответить с цитатойцитата 

ок, переменные буду декларировать.
но так как конструкции типа
while($a=fgets($g,1024))
самые быстрые по моим тестам, то их оставляю, а чтоб
варнинги не тормозили скрипт полностью их вырубаем через error_reporting(0);
ini_set('log_errors','0');
так ?

з.ы. отладка на отдельном сервере идет. меня интересует оптимизация продакшн скрипта.

Здесь ищу и даю работу^так делаю деньги
тут читаю инфу^веду блог, а вы?

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 ))

.

0
 



С нами с 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 (не помню как точно пишется)

Здесь ищу и даю работу^так делаю деньги
тут читаю инфу^веду блог, а вы?

0
 

Друг зайцев

С нами с 25.01.03
Сообщения: 898
Рейтинг: 115

Ссылка на сообщениеДобавлено: 03/12/04 в 17:41       Ответить с цитатойцитата 

bog писал:
ок, переменные буду декларировать.
но так как конструкции типа
while($a=fgets($g,1024))
самые быстрые по моим тестам, то их оставляю, а чтоб
варнинги не тормозили скрипт полностью их вырубаем через error_reporting(0);
ini_set('log_errors','0');
так ?
з.ы. отладка на отдельном сервере идет. меня интересует оптимизация продакшн скрипта.


нах
мы воспитаны на васике

http://moblave.com/ - хорошо конвертим русские мобилки по белому

0
 

пенсионер

С нами с 07.11.02
Сообщения: 2612
Рейтинг: 1166

Ссылка на сообщениеДобавлено: 03/12/04 в 18:01       Ответить с цитатойцитата 

машинный код рулит icon_smile.gif

Здесь ищу и даю работу^так делаю деньги
тут читаю инфу^веду блог, а вы?

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »