fork download
  1. <?php
  2.  
  3. class Test
  4. {
  5. public $property;
  6.  
  7. public function __construct($property = 100)
  8. {
  9. $this->property = $property;
  10. }
  11.  
  12. public function setProperty($property)
  13. {
  14. $this->property = $property;
  15. }
  16. }
  17.  
  18. $timeStart = microtime(true);
  19. for ($i = 0; $i < 100000; $i++) {
  20. $test = new Test;
  21. }
  22. $timeEnd = microtime(true);
  23. $duration = $timeEnd - $timeStart;
  24. echo "Создание 100.000 объектов через конструктор заняло {$duration} секунд.\n";
  25.  
  26. $timeStart = microtime(true);
  27. $test = new Test;
  28. for ($i = 0; $i < 100000; $i++) {
  29. $clone = clone $test;
  30. $clone->setProperty(200);
  31. }
  32. $timeEnd = microtime(true);
  33. $duration = $timeEnd - $timeStart;
  34. echo "Создание 100.000 объектов через клонирование заняло {$duration} секунд.\n";
Success #stdin #stdout 0.18s 52472KB
stdin
Standard input is empty
stdout
Создание 100.000 объектов через конструктор заняло 0.068753004074097 секунд.
Создание 100.000 объектов через клонирование заняло 0.08583402633667 секунд.