2010-01-10 1 views

ответ

6

Эта функция будет только проверка файла существует - что означает доступ к диску (который может занять некоторое время, но не так много как)

Учитывая ваше приложение, вероятно, сделано из десятков (если не сотни) файлов PHP, которые все должны быть прочитаны для каждого запроса, я не думаю, что один file_exists имеет значение.

(ну, по крайней мере, до тех пор, как ваш проверяете для файла на локальном диске - не проходящие через любой сетевой диск или что-нибудь подобное)


Как заметка на полях: если вы хотите определить, где процессор тратится на ваши PHP-скрипты, вас может заинтересовать Xdebug extension, который обеспечивает функцию профилирования.

Вы можете прочитать этот ответ, который я дал некоторое время назад, что довольно долго: How can I measure the speed of code written in php?- Я не буду копировать его здесь.

Вы также можете прочитать мой ответ на этот вопрос (есть раздел, где я писал о Xdebug и профилирование): Optimizing Kohana-based Websites for Speed and Scalability

+0

+1 для указателя профайлера - ваше редактирование избили меня до него. :-) –

+0

@middaparka: Thanks :-) ;; после ответа я подумал «почему бы не дать больше информации» и начал искать в некоторых старых ответах, которые я дал (я помнил, что дал несколько длинных ответов о xdebug ^^) –

1

file_exists, как правило, очень дешево, тем более, что результат кэшируется в php's stat cache .. области, такие как тяжелая БД, как правило, являются крупнейшим потребителем процессора.

попробовать профилирование, чтобы определить, какая часть вашего приложения использует вверх больше всего времени, некоторые примеры здесь:

http://www.ibm.com/developerworks/opensource/library/os-php-fastapps2/

2

Будучи реалистами, играя «угадать узкое место», скорее всего, будет довольно бесплодной задача - я бы рекомендовал использовать профилировщик, например, встроенный в Zend Studio.

Смежные вопросы