3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php class NewDomElement extends DOMElement { function foo () { foreach ($this->childNodes as $childNode) {} } } $dom = new DomDocument; $dom->registerNodeClass('DOMElement', 'NewDomElement'); $dom->loadHtml('<div><span/>text</div>'); // this is important !!! text node after element node $node = $dom->getElementsByTagName('div')->item(0); $node->foo(); $node->nodeValue = ''; $frag = $node->ownerDocument->createDocumentFragment(); echo get_class($frag); // Expected DOMDocumentFragment instead of NewDomElement $node = $dom->getElementsByTagName('div')->item(0); $node->foo(); $node->nodeValue = ''; $frag = $node->ownerDocument->createDocumentFragment(); echo get_class($frag); // Expected DOMDocumentFragment instead of NewDomElement $node = $dom->getElementsByTagName('div')->item(0); $node->foo(); $node->nodeValue = ''; $frag = $node->ownerDocument->createDocumentFragment(); echo get_class($frag); // Expected DOMDocumentFragment instead of NewDomElement
based on iBELi

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).
Note: hhvm uses a JIT which only kicks in after a few runs. Since we run scripts only once, hhvm always runs slower.

VersionSystem time (s)User time (s)Memory (MiB)
7.2.60.0060.00616.61
7.2.00.0040.01119.53
7.1.200.0080.00816.01
7.1.100.0030.01318.29
7.1.70.0070.00017.26
7.1.60.0130.00017.30
7.1.50.0030.01916.97
7.1.00.0130.06322.40
7.0.200.0030.01316.50
7.0.140.0030.03722.19
7.0.100.0130.07320.10
7.0.90.0230.07720.11
7.0.80.0270.05719.95
7.0.70.0330.07019.98
7.0.60.0330.04720.09
7.0.50.0300.08020.23
7.0.40.0070.06720.16
7.0.30.0100.08020.14
7.0.20.0170.05720.16
7.0.10.0130.08020.03
7.0.00.0100.06720.15
5.6.280.0030.07320.98
5.6.250.0070.04720.69
5.6.240.0100.07720.73
5.6.230.0070.08320.81
5.6.220.0070.04320.80
5.6.210.0130.07320.50
5.6.200.0170.08321.21
5.6.190.0130.06721.21
5.6.180.0070.07721.23
5.6.170.0030.05321.20
5.6.160.0030.08721.16
5.6.150.0070.05021.20
5.6.140.0030.08721.19
5.6.130.0130.06021.25
5.6.120.0070.08721.19
5.6.110.0100.07721.14
5.6.100.0030.08321.13
5.6.90.0170.04721.13
5.6.80.0030.05320.49
5.6.70.0200.07320.57
5.6.60.0070.08020.54
5.6.50.0070.08020.41
5.6.40.0100.06020.45
5.6.30.0170.07020.47
5.6.20.0100.07720.45
5.6.10.0000.09020.58
5.6.00.0170.07320.37
5.5.380.0030.04320.48
5.5.370.0100.07720.46
5.5.360.0070.07720.45
5.5.350.0070.07020.52
5.5.340.0100.08020.96
5.5.330.0130.07320.91
5.5.320.0030.07020.97
5.5.310.0130.06321.01
5.5.300.0100.04320.76
5.5.290.0030.04320.86
5.5.280.0000.08320.89
5.5.270.0070.04020.95
5.5.260.0100.07320.86
5.5.250.0030.08320.77
5.5.240.0100.07320.39
5.5.230.0130.07020.30
5.5.220.0130.08020.28
5.5.210.0130.05320.21
5.5.200.0030.08320.22
5.5.190.0100.04320.34
5.5.180.0070.08320.35
5.5.160.0170.06020.28
5.5.150.0100.07720.33
5.5.140.0170.04320.31
5.5.130.0130.05320.28
5.5.120.0100.06720.32
5.5.110.0070.08020.34
5.5.100.0130.07320.14
5.5.90.0070.04320.24
5.5.80.0200.05720.11
5.5.70.0100.06320.11
5.5.60.0030.04020.14
5.5.50.0070.03720.13
5.5.40.0070.04320.03
5.5.30.0030.04020.20
5.5.20.0030.04020.11
5.5.10.0000.04020.16
5.5.00.0030.03720.11
5.4.450.0030.07719.55
5.4.440.0070.08019.43
5.4.430.0030.04319.53
5.4.420.0100.07719.62
5.4.410.0070.08019.17
5.4.400.0030.04019.16
5.4.390.0070.05718.98
5.4.380.0130.06019.30
5.4.370.0070.05319.20
5.4.360.0070.05719.25
5.4.350.0030.07019.16
5.4.340.0070.04718.94
5.4.320.0130.06319.18
5.4.310.0100.04019.11
5.4.300.0030.06318.95
5.4.290.0200.06319.12
5.4.280.0100.07318.96
5.4.270.0030.04319.20
5.4.260.0100.06318.97
5.4.250.0130.05319.22
5.4.240.0000.07318.94
5.4.230.0070.04019.21
5.4.220.0100.03319.19
5.4.210.0030.04319.11
5.4.200.0100.03019.25
5.4.190.0000.04019.11
5.4.180.0000.03719.24
5.4.170.0000.04019.18
5.4.160.0000.04319.15
5.4.150.0070.02719.17
5.4.140.0070.03316.59
5.4.130.0000.03016.52
5.4.120.0030.03716.45
5.4.110.0000.03316.63
5.4.100.0070.03316.51
5.4.90.0030.03716.50
5.4.80.0100.02316.48
5.4.70.0070.03316.47
5.4.60.0100.03016.48
5.4.50.0070.03016.57
5.4.40.0100.03316.64
5.4.30.0100.03016.43
5.4.20.0070.03316.48
5.4.10.0030.03716.45
5.4.00.0030.03716.05
5.3.290.0030.04714.74
5.3.280.0070.03714.64
5.3.270.0070.03714.87
5.3.260.0030.04014.84
5.3.250.0070.02714.76
5.3.240.0170.02714.87
5.3.230.0100.02714.76
5.3.220.0030.03714.59
5.3.210.0000.03714.63
5.3.200.0000.03714.69
5.3.190.0070.03714.65
5.3.180.0070.03714.63
5.3.170.0030.03014.71
5.3.160.0070.03014.73
5.3.150.0000.04014.69
5.3.140.0000.03314.74
5.3.130.0030.04014.70
5.3.120.0030.03314.58
5.3.110.0100.03014.71
5.3.100.0030.03314.11
5.3.90.0070.03314.24
5.3.80.0030.04714.14
5.3.70.0070.03314.09
5.3.60.0000.03714.23
5.3.50.0000.05314.07
5.3.40.0000.04013.96
5.3.30.0030.03314.18
5.3.20.0070.03013.67
5.3.10.0000.04013.82
5.3.00.0000.04013.85
5.2.170.0100.02011.40
5.2.160.0030.02711.14
5.2.150.0030.03011.29
5.2.140.0030.03011.31
5.2.130.0030.03011.09
5.2.120.0070.02311.08
5.2.110.0030.02711.12
5.2.100.0000.02711.09
5.2.90.0000.02711.26
5.2.80.0070.02711.10
5.2.70.0030.02711.16
5.2.60.0000.03311.31
5.2.50.0000.03011.14
5.2.40.0000.02711.17
5.2.30.0000.02710.97
5.2.20.0030.02710.96
5.2.10.0070.03011.02
5.2.00.0000.03310.93
5.1.60.0000.02310.01
5.1.50.0000.02710.01
5.1.40.0000.0209.99
5.1.30.0030.02310.50
5.1.20.0030.03010.45
5.1.10.0070.04710.12
5.1.00.0100.04710.16
5.0.50.0100.0379.92
5.0.40.0070.0409.92
5.0.30.0030.0579.92
5.0.20.0030.0439.92
5.0.10.0030.0379.92
5.0.00.0130.0439.92
4.4.90.0000.0179.92
4.4.80.0000.0179.92
4.4.70.0030.0139.92
4.4.60.0030.0139.92
4.4.50.0000.0179.92
4.4.40.0000.0239.92
4.4.30.0030.0139.92
4.4.20.0000.0279.92
4.4.10.0000.0379.92
4.4.00.0000.0579.92
4.3.110.0100.0279.92
4.3.100.0000.0379.92
4.3.90.0070.0309.92
4.3.80.0000.0409.92
4.3.70.0000.0239.92
4.3.60.0070.0279.92
4.3.50.0070.0309.92
4.3.40.0100.0479.92
4.3.30.0000.0339.92
4.3.20.0030.0279.92
4.3.10.0030.0209.92
4.3.00.0000.0209.92