3v4l.org

run code in 300+ PHP versions simultaneously
<?php function yieldAnything(): Generator { try { yield 42; } finally { echo "finally in yieldSomething()\n"; } } function iteratorConsumer(): void { $iterator = yieldAnything(); $iterator->current(); // to trigger the yield throw new RuntimeException("any-exception-here-or-in-any-child-call-before-yieldAnything()-finally-is-triggered"); } function inner(): void { try { iteratorConsumer(); } catch (\Throwable) { echo "catch in inner()\n"; } finally { echo "finally in inner()\n"; } } function outer(): void { try { inner(); } catch (\Throwable) { echo "catch in outer()\n"; } finally { echo "finally in outer()\n"; } } function main(): void { try { outer(); } catch(\Throwable) { echo "catch in main()\n"; } finally { echo "finally in main()\n"; } } main();

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.5.10.0100.01019.46
8.5.00.0170.00816.76
8.4.160.0220.01219.66
8.4.150.0230.01119.71
8.4.140.0210.01317.87
8.4.130.0310.01117.76
8.4.120.0330.00717.83
8.4.110.0280.00517.98
8.4.100.0270.00818.69
8.4.90.0300.00717.75
8.4.80.0280.00717.77
8.4.70.0290.00717.63
8.4.60.0300.00417.64
8.4.50.0220.00917.64
8.4.40.0270.00817.55
8.4.30.0290.00917.68
8.4.20.0220.00617.69
8.4.10.0190.00417.62
8.3.290.0130.00618.27
8.3.280.0150.00718.47
8.3.270.0150.00416.60
8.3.260.0200.00616.43
8.3.250.0250.00616.52
8.3.240.0240.00316.54
8.3.230.0240.00716.46
8.3.220.0230.00516.53
8.3.210.0170.00416.73
8.3.200.0240.00716.51
8.3.190.0220.00616.63
8.3.180.0260.00916.57
8.3.170.0240.00516.58
8.3.160.0260.00616.50
8.3.150.0260.00816.51
8.3.140.0230.00516.63
8.3.130.0270.00816.60
8.3.120.0190.00616.60
8.3.110.0210.00816.51
8.3.100.0220.00616.49
8.3.90.0250.00616.53
8.3.80.0210.00616.63
8.3.70.0260.00716.50
8.3.60.0260.00416.56
8.3.50.0250.00416.39
8.3.40.0190.00618.83
8.3.30.0180.01018.74
8.3.20.0110.01117.81
8.3.10.0230.00817.75
8.3.00.0140.00917.76
8.2.300.0370.01017.75
8.2.290.0230.00816.58
8.2.280.0250.00916.59
8.2.270.0270.01116.43
8.1.340.0360.00817.61

preferences:
34.2 ms | 403 KiB | 5 Q