3v4l.org

run code in 300+ PHP versions simultaneously
<?php // Disable garbage collection to avoid interference gc_disable(); // Helper function to calculate execution time function benchmark(callable $function) { $start = microtime(true); $function(); $end = microtime(true); return $end - $start; } // Create a deeply nested array function createNestedArray($depth = 3, $width = 10) { $data = []; for ($i = 0; $i < $width; $i++) { $data["level_$i"] = ($depth > 1) ? createNestedArray($depth - 1, $width) : rand(1, 100); } return $data; } // Create a deeply nested object function createNestedObject($depth = 3, $width = 10) { $obj = new stdClass(); for ($i = 0; $i < $width; $i++) { $propName = "level_$i"; $obj->$propName = ($depth > 1) ? createNestedObject($depth - 1, $width) : rand(1, 100); } return $obj; } // Function to modify data in nested array function modifyArray(&$data, $depth = 3) { foreach ($data as &$value) { if ($depth > 1 && is_array($value)) { modifyArray($value, $depth - 1); } else { $value *= 2; // Data alteration } } } // Function to modify data in nested object function modifyObject(&$obj, $depth = 3) { foreach ($obj as &$value) { if ($depth > 1 && is_object($value)) { modifyObject($value, $depth - 1); } else { $value *= 2; // Data alteration } } } // Initialize nested structures $depth = 3; $width = 10; $nestedArray = createNestedArray($depth, $width); $nestedObject = createNestedObject($depth, $width); // Benchmark for array $arrayTime = benchmark(function() use (&$nestedArray, $depth) { modifyArray($nestedArray, $depth); }); // Benchmark for object $objectTime = benchmark(function() use (&$nestedObject, $depth) { modifyObject($nestedObject, $depth); }); echo "Array Time: " . $arrayTime . " seconds\n"; echo "Object Time: " . $objectTime . " seconds\n"; gc_enable(); // Re-enable garbage collection ?>
Output for 8.3.13
Array Time: 0.00010204315185547 seconds Object Time: 0.00010323524475098 seconds
Output for 8.3.12
Array Time: 0.00012803077697754 seconds Object Time: 0.00010299682617188 seconds
Output for 8.3.11
Array Time: 0.00020909309387207 seconds Object Time: 9.5129013061523E-5 seconds
Output for 8.3.10
Array Time: 0.00014209747314453 seconds Object Time: 0.00018405914306641 seconds
Output for 8.3.9
Array Time: 8.2969665527344E-5 seconds Object Time: 0.00016593933105469 seconds
Output for 8.3.8
Array Time: 0.00010299682617188 seconds Object Time: 0.00010514259338379 seconds
Output for 8.3.7
Array Time: 8.1062316894531E-5 seconds Object Time: 0.00012707710266113 seconds
Output for 8.3.6
Array Time: 0.00023889541625977 seconds Object Time: 0.00010418891906738 seconds
Output for 8.2.25, 8.3.5
Array Time: 8.2969665527344E-5 seconds Object Time: 7.6055526733398E-5 seconds
Output for 8.3.4
Array Time: 0.00014019012451172 seconds Object Time: 7.7962875366211E-5 seconds
Output for 8.3.3
Array Time: 8.2015991210938E-5 seconds Object Time: 7.2956085205078E-5 seconds
Output for 8.3.2
Array Time: 0.00010085105895996 seconds Object Time: 9.2983245849609E-5 seconds
Output for 8.3.1
Array Time: 9.918212890625E-5 seconds Object Time: 9.3936920166016E-5 seconds
Output for 8.3.0
Array Time: 9.8943710327148E-5 seconds Object Time: 0.00023603439331055 seconds
Output for 8.2.24
Array Time: 0.00010490417480469 seconds Object Time: 0.00013208389282227 seconds
Output for 8.2.23
Array Time: 0.0001380443572998 seconds Object Time: 0.0001828670501709 seconds
Output for 8.2.22
Array Time: 5.0067901611328E-5 seconds Object Time: 3.9100646972656E-5 seconds
Output for 8.2.21
Array Time: 7.8916549682617E-5 seconds Object Time: 7.7962875366211E-5 seconds
Output for 8.2.20
Array Time: 5.793571472168E-5 seconds Object Time: 3.8862228393555E-5 seconds
Output for 8.2.19
Array Time: 9.4890594482422E-5 seconds Object Time: 4.0054321289062E-5 seconds
Output for 8.2.18
Array Time: 4.1007995605469E-5 seconds Object Time: 8.5115432739258E-5 seconds
Output for 8.2.17
Array Time: 0.00010395050048828 seconds Object Time: 9.4890594482422E-5 seconds
Output for 8.2.16
Array Time: 9.7990036010742E-5 seconds Object Time: 0.00010299682617188 seconds
Output for 8.2.15
Array Time: 0.0001060962677002 seconds Object Time: 0.00020313262939453 seconds
Output for 8.2.14
Array Time: 0.00016593933105469 seconds Object Time: 7.5101852416992E-5 seconds
Output for 8.2.13
Array Time: 9.7990036010742E-5 seconds Object Time: 9.7990036010742E-5 seconds
Output for 8.2.12
Array Time: 9.918212890625E-5 seconds Object Time: 0.00010299682617188 seconds
Output for 8.2.11
Array Time: 0.00020289421081543 seconds Object Time: 9.3936920166016E-5 seconds
Output for 8.2.10
Array Time: 0.00017404556274414 seconds Object Time: 7.6055526733398E-5 seconds
Output for 8.2.9
Array Time: 0.00020909309387207 seconds Object Time: 9.2029571533203E-5 seconds
Output for 8.2.8
Array Time: 9.7036361694336E-5 seconds Object Time: 9.2029571533203E-5 seconds
Output for 8.2.7
Array Time: 9.7036361694336E-5 seconds Object Time: 9.4890594482422E-5 seconds
Output for 8.2.6
Array Time: 9.6797943115234E-5 seconds Object Time: 0.00010204315185547 seconds
Output for 8.2.1, 8.2.5
Array Time: 9.608268737793E-5 seconds Object Time: 9.608268737793E-5 seconds
Output for 8.2.4
Array Time: 8.6069107055664E-5 seconds Object Time: 7.6055526733398E-5 seconds
Output for 8.2.3
Array Time: 8.392333984375E-5 seconds Object Time: 7.7009201049805E-5 seconds
Output for 8.2.2
Array Time: 7.8916549682617E-5 seconds Object Time: 8.082389831543E-5 seconds
Output for 8.2.0
Array Time: 9.7990036010742E-5 seconds Object Time: 0.00023198127746582 seconds
Output for 8.1.30
Array Time: 9.2983245849609E-5 seconds Object Time: 9.2029571533203E-5 seconds
Output for 8.1.29
Array Time: 0.00010204315185547 seconds Object Time: 0.00026607513427734 seconds
Output for 8.1.28
Array Time: 9.4175338745117E-5 seconds Object Time: 9.4890594482422E-5 seconds
Output for 8.1.27
Array Time: 0.00021600723266602 seconds Object Time: 7.4148178100586E-5 seconds
Output for 8.1.26
Array Time: 0.00013208389282227 seconds Object Time: 0.00030517578125 seconds
Output for 8.1.25
Array Time: 0.00010490417480469 seconds Object Time: 0.00010085105895996 seconds
Output for 8.1.24
Array Time: 7.7009201049805E-5 seconds Object Time: 7.9870223999023E-5 seconds
Output for 8.1.23
Array Time: 4.1007995605469E-5 seconds Object Time: 3.8862228393555E-5 seconds
Output for 8.1.22
Array Time: 4.0054321289062E-5 seconds Object Time: 3.7908554077148E-5 seconds
Output for 8.1.21
Array Time: 0.00011801719665527 seconds Object Time: 9.9897384643555E-5 seconds
Output for 8.1.20
Array Time: 4.1961669921875E-5 seconds Object Time: 3.9100646972656E-5 seconds
Output for 8.1.19
Array Time: 0.00012588500976562 seconds Object Time: 0.00010395050048828 seconds
Output for 8.1.18
Array Time: 9.5129013061523E-5 seconds Object Time: 9.2029571533203E-5 seconds
Output for 8.1.17
Array Time: 0.00010013580322266 seconds Object Time: 0.00010204315185547 seconds
Output for 8.1.16
Array Time: 9.4890594482422E-5 seconds Object Time: 0.00020480155944824 seconds
Output for 8.1.15
Array Time: 0.0001070499420166 seconds Object Time: 0.00011110305786133 seconds
Output for 8.1.14
Array Time: 9.5844268798828E-5 seconds Object Time: 0.00020790100097656 seconds
Output for 8.1.13
Array Time: 9.608268737793E-5 seconds Object Time: 0.00010013580322266 seconds
Output for 8.1.10, 8.1.12
Array Time: 4.1007995605469E-5 seconds Object Time: 8.7976455688477E-5 seconds
Output for 8.1.11
Array Time: 4.6968460083008E-5 seconds Object Time: 3.7908554077148E-5 seconds
Output for 8.1.9
Array Time: 0.00010800361633301 seconds Object Time: 9.2983245849609E-5 seconds
Output for 8.1.8
Array Time: 7.6055526733398E-5 seconds Object Time: 7.7009201049805E-5 seconds
Output for 8.1.7
Array Time: 0.00010180473327637 seconds Object Time: 9.2983245849609E-5 seconds
Output for 8.1.6
Array Time: 0.00021004676818848 seconds Object Time: 9.7990036010742E-5 seconds
Output for 8.1.5
Array Time: 0.00010180473327637 seconds Object Time: 9.4890594482422E-5 seconds
Output for 8.1.4
Array Time: 0.00020694732666016 seconds Object Time: 9.2983245849609E-5 seconds
Output for 8.1.3
Array Time: 7.7009201049805E-5 seconds Object Time: 0.00017881393432617 seconds
Output for 8.1.2
Array Time: 0.00010204315185547 seconds Object Time: 9.3936920166016E-5 seconds
Output for 8.1.1
Array Time: 0.00010585784912109 seconds Object Time: 0.00020003318786621 seconds
Output for 8.1.0
Array Time: 0.00012588500976562 seconds Object Time: 8.5115432739258E-5 seconds

preferences:
49.28 ms | 506 KiB | 5 Q