инклюдим класс

  • Автор темы Данил
  • Дата начала

_RVK_

Новичок
>может дело и не в классе, просто возникает жуткая разница во времени лишь при include("player.php");

Данил, конечно, тебе ведь не только include приходится коментировать, но и добрую часть кода, в том числе вызов конструктора, все используемые методы. Может как раз в одном из методов и тормозит. Это только ты можешь понять. Мы то не имеем возможности твой код тестировать.

Попробуй померять время выполнения, разных участков кода, посмотри где это время больше всего. Таким образом найдешь узкий участок. Тогда вот и пытайся его оптимизировать....
 

Данил

Guest
Сорри за занудство.... Я запускал два скрипта - они различаются ТОЛЬКО в include("player.php");

Вызов конструктора и функция, по моим замерам , практически не влияют на время исполнения.

Вообщем не то, чтобы мне не понятно почему так происходит - все же приходится собрать этот большой инклюд - на это время и уходит.

Я спрашиваю есть ли возможность его предварительно собрать, сделать, чтобы сервер кэшировал его.

если у меня нет возможности установить ПХП акселератор на сервер?
 

tony2001

TeaM PHPClub
Данил
если у тебя скрипт делает только echo 1 и include(), то твои потери на include, конечно, кажутся значительными.
но если у тебя еще и что-то делается (запросы к базе, обработка чего-то-там-в-носу и т.п.), то эти 0.01-0.02 на чтение файла - просто смешные.

>Вообще я немного удивился - уж могли бы сделать .чтобы хттп серевер сам как-нибудь кэшировал классы....
чудак-человек.
ХТТП-сервер вообще ничего про код, классы и др. не знает.
он контент отдает.
 

Макс

Старожил PHPClub
Я спрашиваю есть ли возможность его предварительно собрать, сделать, чтобы сервер кэшировал его.

если у меня нет возможности установить ПХП акселератор на сервер?
нет
 

Данил

Guest
>если у тебя скрипт делает только echo 1 и include(), то твои потери на include, конечно, кажутся значительными.
>но если у тебя еще и что-то делается (запросы к базе, обработка чего-то-там-в-носу и т.п.), то эти 0.01-0.02 на чтение файла - просто смешные.

ну я понимаю это. но я задал конкретный вопрос. Да, у меня сделано так, как, возможно надо было бы делать на С++

но здесь все по-другому - каждый раз приходится компилить большой класс. Вот я и интересуюсь, можно ли это обойти....

-~{}~ 07.06.04 15:27:

Maxim Matyukhin

ок, спасиба, когда писал предыдуий пост - не видел Ваш ответ....
 

tony2001

TeaM PHPClub
>ну я понимаю это. но я задал конкретный вопрос.
вопрос: занимает ли какое-то время include ?
да.
существенно ли оно?
нет.

>Да, у меня сделано так, как, возможно надо было бы делать на С++
можно и на asm, дело не в этом.

>но здесь все по-другому - каждый раз приходится компилить большой класс.
>Вот я и интересуюсь, можно ли это обойти....
тебе уже дали ссылки на акселераторы и кэши.
 

_RVK_

Новичок
Данил нет. И смотри первый пост Демиурга.

-~{}~ 07.06.04 15:34:

Еще можешь написать екстеншен, но не уверен что в твоем случае это даст прирост в скорости...
 

Данил

Guest
Лана, похоже будет надо серьезно пересмотреть структуру программы....

Кстати, Господа, подскажите плз как грамотно замерить время выполнения скрипта ?
 

Powerhead13

Guest
Php - это интерпретируемый язык, чего ты от него ожидал? Если важны эти десятые доли милисекунды, то пиши на сях.
 

_RVK_

Новичок
>Php - это интерпретируемый язык...

Ты немного не прав. PHP компилируется в байт-код, а потом выполняется. Данил хотел узнать, как сделать так чтоб этот байткод кешировался, что бы не тратить время на его вовторное компилирование.
 

Данил

Guest
Да я если чесно и не уверен, что включение большого класса и испоользование в скрипте одной его функции очень накладно... я просто замерял как - в начале скрипта берется время - и вычитается из того, что берется в конце скрипта.... это вообщем не очень объективно....

-~{}~ 07.06.04 18:01:

Ведь собирать байт код он по идее должен из тех функций, которые используются, т.е. до остальных ему по большому счету должно быть по барабану....

вообщем надо потестировать....
 

tony2001

TeaM PHPClub
Данил
классический пример:
PHP:
<?
//определяем имя функции
$funcname = !empty($_GET['func']) ? $_GET['func'] : 'default';

//вызываем функцию
$funcname($arg);
?>
задачка:
определи на этапе парсинга - какую функцию мы будем вызывать, а какие - нам "по барабану".
 
Сверху