Одно небольшое бесполезное исследование провел сегодня на работе по долгу службы. Код и результаты его выполнения ниже.
<?php $functionExistsStart = microtime(true); for ($i = 0; $i < 1000000; $i++) { function_exists('this_function_doesnt_exist'); } $functionExistsEnd = microtime(true); $extenstionLoadedStart = microtime(true); for ($i = 0; $i < 1000000; $i++) { extension_loaded('this_extension_is_not_loaded'); } $extenstionLoadedEnd = microtime(true); echo 'function_exists ' . ($functionExistsEnd - $functionExistsStart) . PHP_EOL; echo 'extension_loaded ' . ($extenstionLoadedEnd - $extenstionLoadedStart) . PHP_EOL;
function_exists 0.35822796821594 extension_loaded 0.40138292312622