- substr: documentation ( source)
- var_dump: documentation ( source)
- strpos: documentation ( source)
- microtime: documentation ( source)
- range: documentation ( source)
<?php
$class = 'VeryStrangeThirdPartyLibraryName\\This\\Is\\A\\Very\\Long\\Namespace\\Path\\With\\Many\\Parts\\To\\This\\Class';
$iterations = 100000;
foreach (range(0, 9) as $iteration) {
$start = microtime(true);
for ($i = 0; $i < $iterations; $i++) {
if (0 === strpos($class, 'Yii\\')) {
}
}
$finish = microtime(true) - $start;
$startOlympiad = microtime(true);
for ($i = 0; $i < $iterations; $i++) {
if ('Yii\\' === substr($class, 0, 4)) {
}
}
$finishOlympiad = microtime(true) - $startOlympiad;
var_dump($finish);
var_dump($finishOlympiad);
var_dump('-------------');
}