3v4l.org

run code in 300+ PHP versions simultaneously
<?php namespace wrossmann\merkle; class Node { public $value = NULL; public $isLeaf = false; public $height = 0; public $left = NULL; public $right = NULL; public $parent = NULL; } class Tree { protected $root = null; protected $nodes = []; public function serialize() { yield from $this->serializeGenerator($this->root); } // Serialize based on a depth-first traversal protected function serializeGenerator(Node $node) { yield [ 'v' => $node->value, 'l' => $node->isLeaf ]; if( ! is_null($node->left) ) { yield from $this->serializeGenerator($node->left); } if( ! is_null($node->right) ) { yield from $this->serializeGenerator($node->right); } } } // pre-constructed tree $m = unserialize(gzuncompress(base64_decode('eJy1VbtuwzAMzLdw7GTLz1K/UDhLxyxKIj9Qxy6kPoYg/17SXmIoKBBI2kj6rDvyaHmPIkX4NbO1FzVNh4s2H6M+vButAQVeLVYIu5edmecvkPvH6GY+E7pkdIHwo8ZvDdJijaCOp7Nuu57TEmGwb1q1II+YrIVeD11PBw9LIUcYdfs0T77yROUQzBGVgaDKIUj/JWjkcoRZHzYr9lMZPVFqME3k7R7wtB634QB6NqXSRyF5Etl1gp7CzkC8enriNhxAj+vJFuSjmZREvwEEc8TeBB128kXmuQluwwH0bEq517KSKZFtJ2gXdgiV16oT1G04gJ4Hprjf512l4bxe/tsTKbUgFaVXpqZbOCcNKb+VUiAoyDIKMj46oSDnXagoKPguYHDJQkoKKgpqWpPbH0CgjUU='))); printf("%s\n\n", json_encode(iterator_to_array($m->serialize(), false)));

Here you find the average performance (time & memory) of each version. A grayed out version indicates it didn't complete successfully (based on exit-code).

VersionSystem time (s)User time (s)Memory (MiB)
8.3.60.0110.00718.30
8.3.50.0140.00018.07
8.3.40.0110.00718.84
8.3.30.0070.00718.88
8.3.20.0090.00019.10
8.3.10.0000.00823.71
8.3.00.0000.00820.95
8.2.180.0130.00616.63
8.2.170.0090.00622.96
8.2.160.0130.00022.13
8.2.150.0050.00324.18
8.2.140.0000.00824.66
8.2.130.0040.00419.31
8.2.120.0040.00426.35
8.2.110.0100.00021.19
8.2.100.0110.00417.97
8.2.90.0000.00819.65
8.2.80.0000.00917.97
8.2.70.0000.00818.29
8.2.60.0060.00318.41
8.2.50.0080.00018.10
8.2.40.0040.00420.67
8.2.30.0000.00719.45
8.2.20.0050.00218.16
8.2.10.0040.00418.25
8.2.00.0030.00618.29
8.1.280.0080.00825.92
8.1.270.0080.00022.36
8.1.260.0040.00426.35
8.1.250.0040.00428.09
8.1.240.0040.00423.96
8.1.230.0040.00820.83
8.1.220.0080.00017.91
8.1.210.0030.00619.05
8.1.200.0050.00317.48
8.1.190.0000.00917.48
8.1.180.0040.00418.10
8.1.170.0050.00318.83
8.1.160.0000.00719.05
8.1.150.0040.00418.93
8.1.140.0000.00722.27
8.1.130.0030.00320.29
8.1.120.0040.00417.61
8.1.110.0080.00017.47
8.1.100.0030.00517.54
8.1.90.0000.00817.47
8.1.80.0030.00517.51
8.1.70.0020.00517.57
8.1.60.0040.00417.58
8.1.50.0030.00617.53
8.1.40.0000.00817.52
8.1.30.0040.00417.79
8.1.20.0000.00717.80
8.1.10.0080.00017.63
8.1.00.0050.00317.54
8.0.300.0040.00420.02
8.0.290.0040.00416.88
8.0.280.0030.00518.48
8.0.270.0040.00417.41
8.0.260.0060.00018.62
8.0.250.0030.00317.16
8.0.240.0040.00417.06
8.0.230.0030.00517.18
8.0.220.0070.00016.96
8.0.210.0070.00017.05
8.0.200.0000.00617.14
8.0.190.0040.00417.11
8.0.180.0050.00217.14
8.0.170.0060.00317.13
8.0.160.0040.00416.96
8.0.150.0000.00717.06
8.0.140.0050.00217.06
8.0.130.0060.00013.51
8.0.120.0070.00017.06
8.0.110.0040.00416.91
8.0.100.0000.00717.18
8.0.90.0000.00717.05
8.0.80.0060.01317.02
8.0.70.0040.00417.08
8.0.60.0040.00416.88
8.0.50.0080.00017.04
8.0.30.0110.00917.28
8.0.20.0140.00617.40
8.0.10.0070.00017.22
8.0.00.0110.01116.93
7.4.330.0030.00315.55
7.4.320.0000.00616.72
7.4.300.0040.00416.72
7.4.290.0040.00716.69
7.4.280.0020.00516.61
7.4.270.0030.00316.62
7.4.260.0000.00716.69
7.4.250.0040.00416.50
7.4.240.0000.00716.73
7.4.230.0030.00516.67
7.4.220.0000.00816.76
7.4.210.0140.00516.68
7.4.200.0030.00316.74
7.4.160.0130.00516.68
7.4.140.0110.01017.86
7.4.130.0090.01516.54
7.4.120.0110.00916.63
7.4.110.0210.00316.65
7.4.100.0110.01116.67
7.4.90.0140.00716.63
7.4.80.0150.00319.39
7.4.70.0120.00916.74
7.4.60.0060.01116.69
7.4.50.0060.01116.34
7.4.40.0060.01516.75
7.4.00.0160.00014.99
7.3.330.0000.00613.36
7.3.320.0060.00013.35
7.3.310.0030.00316.53
7.3.300.0030.00316.49
7.3.290.0070.00016.50
7.3.280.0100.00816.51
7.3.260.0040.01316.64
7.3.240.0130.00816.60
7.3.230.0000.01616.84
7.3.210.0070.01416.73
7.3.200.0060.00916.80
7.3.190.0120.00616.57
7.3.180.0000.01616.57
7.3.170.0170.00016.67
7.3.160.0140.00816.80
7.2.330.0110.00716.88
7.2.320.0210.00316.97
7.2.310.0130.00316.92
7.2.300.0110.00616.82
7.2.290.0100.01016.94
7.2.120.1020.00314.52
7.2.110.0460.00314.78
7.2.100.0950.01414.83
7.2.90.0630.00314.52
7.2.80.0970.01014.75
7.2.70.0720.01015.00
7.2.60.0500.00714.80
7.2.50.0530.00714.80
7.2.40.0560.00314.74
7.2.30.1010.01315.13
7.2.20.0570.01014.74
7.2.10.0600.01115.16
7.2.00.0700.00614.84
7.1.240.0550.00314.03
7.1.230.0540.01213.63
7.1.220.0650.00614.01
7.1.210.0650.00314.00
7.1.200.0810.00313.79
7.1.190.0600.00713.70
7.1.180.0670.00714.01
7.1.170.0690.00313.93
7.1.160.0770.00713.67
7.1.150.1570.00013.97
7.1.140.1130.01013.95
7.1.130.0530.01013.98
7.1.120.0650.00013.93
7.1.110.0870.00713.38
7.1.100.0760.00713.68
7.1.90.0520.00713.58
7.1.80.0470.00713.98
7.1.70.0500.00713.77
7.1.60.1020.00313.49
7.1.50.1040.00313.61
7.1.40.0610.00713.88
7.1.30.0480.01313.38
7.1.20.0520.00313.73
7.1.10.0490.00713.58
7.1.00.0490.00613.61
5.6.380.0120.00013.75

preferences:
58.62 ms | 401 KiB | 5 Q