производительность — время выполнения быстрее при создании косвенного объекта

У меня есть 3 файла со следующим кодом:

Filename: TCObj.php

class TCObj {
protected $objects;

public function __construct(){
$this->objects = array();
}

public function register_service($service) {
if(!isset($this->objects[$service])) {
$this->objects[$service] = new $service;
}
return $this->objects[$service];
}
}

File Name: TObj.php

class TObj {
public function __construct(){

}

public function hello() {
echo "Hello!!!";
}
}test.php contains the following code:

require_once("TCObj.php");
require_once("TObj.php");

$start_time = microtime(true);
$o = new TCObj();
$p = $o->register_service("TObj");
$p->hello();
$end_time = microtime(true);
echo "<br />";
echo $end_time - $start_time;

Когда я выполнял приведенный выше код, это намного быстрее, чем я создавал объект напрямую, используя следующий код:

require_once("TObj.php");

$start_time = microtime(true);
$p = new TObj();
$p->hello();
$end_time = microtime(true);
echo "<br />";
echo $end_time - $start_time;

Разве это не должно быть наоборот? Или я проверяю неправильный способ анализа времени вычислений? Пожалуйста, не забывайте о моем английском, так как я не очень много говорящего 🙁

Я думал, что последний будет быстрее, но это было не так, когда тестировались как на сервере с 512 МБ ОЗУ и одноядерным (Linux), так и на локальной системе с 4 ГБ ОЗУ и 4 ядром (ями) (windows)

Что я делаю неправильно?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]