3v4l.org

run code in 300+ PHP versions simultaneously
<?php namespace Foo; use function set_error_handler; use function trigger_error; class SomeExternalDependency { public function __construct() { set_error_handler([$this, 'logError']); $this->triggerError(); } public static function triggerError(): void { trigger_error('error', E_USER_WARNING); } private function logError(): bool { debug_print_backtrace(); return true; } } class Test { public function testSetErrorHandlerNonCallable(): void { new SomeExternalDependency(); $callableWithPrivateMethod = set_error_handler(static fn () => false); restore_error_handler(); // restore_error_handler(); // set_error_handler($callableWithPrivateMethod); echo "\nii.\n"; SomeExternalDependency::triggerError(); echo "\niii.\n"; trigger_error('error', E_USER_WARNING); } } (new Test())->testSetErrorHandlerNonCallable();

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.4.140.0110.01017.56
8.4.130.0160.00517.57
8.4.120.0080.00420.73
8.4.110.0110.00918.73
8.4.100.0110.01018.07
8.4.90.0050.00424.21
8.4.80.0110.00618.75
8.4.70.0190.00318.18
8.4.60.0150.00718.73
8.4.50.0110.00918.93
8.4.40.0100.00017.68
8.4.30.0080.00018.76
8.4.20.0070.01419.54
8.4.10.0070.01019.69
8.3.270.0130.00616.63
8.3.260.0090.01016.44
8.3.250.0120.00718.79
8.3.240.0110.00916.39
8.3.230.0110.00916.73
8.3.220.0040.00419.11
8.3.210.0060.00916.92
8.3.200.0030.00516.75
8.3.190.0050.00320.56
8.3.180.0110.00617.36
8.3.170.0060.01219.09
8.3.160.0120.00616.84
8.3.150.0130.00616.91
8.3.140.0040.00420.75
8.3.130.0000.00918.57
8.3.120.0080.00318.82
8.3.110.0100.00020.94
8.3.100.0040.00424.06
8.3.90.0030.00626.77
8.3.80.0250.00316.25
8.3.70.0290.00016.72
8.3.60.0200.00816.25
8.3.50.0060.00616.50
8.3.40.0160.00817.38
8.3.30.0130.01017.00
8.3.20.0230.00017.25
8.3.10.0200.00317.23
8.3.00.0200.00417.13
8.2.290.0110.00918.48
8.2.280.0110.00818.32
8.2.270.0070.01117.34
8.2.260.0040.00418.67
8.2.250.0060.00916.88
8.2.240.0040.00419.07
8.2.230.0040.00422.58
8.2.220.0100.00737.54
8.2.210.0130.00726.77
8.2.200.0040.00716.63
8.2.190.0170.00616.60
8.2.180.0160.00516.63
8.2.170.0220.00417.50
8.2.160.0120.01217.38
8.2.150.0170.00817.25
8.2.140.0200.00417.38
8.2.130.0200.00317.50
8.2.120.0110.01717.13
8.2.110.0150.00917.50
8.2.100.0200.00517.63
8.2.90.0150.00917.37
8.2.80.0210.00217.63
8.2.70.0190.00417.63
8.2.60.0120.01217.38
8.2.50.0180.00517.38
8.2.40.0140.00717.25
8.2.30.0070.01717.50
8.2.20.0160.00517.13
8.2.10.0160.00817.38
8.2.00.0160.00517.13
8.1.330.0140.00718.45
8.1.320.0080.00720.33
8.1.310.0140.00418.41
8.1.300.0060.00318.30
8.1.290.0190.00415.88
8.1.280.0190.00516.25
8.1.270.0270.00317.13
8.1.260.0160.01117.25
8.1.250.0170.01017.11
8.1.240.0160.00317.13
8.1.230.0130.00617.13
8.1.220.0210.00017.13
8.1.210.0180.00717.00
8.1.200.0190.00517.00
8.1.190.0170.00416.88
8.1.180.0140.00917.00
8.1.170.0130.01016.75
8.1.160.0160.00417.11
8.1.150.0190.00416.97
8.1.140.0190.00217.13
8.1.130.0120.00817.25
8.1.120.0150.00517.11
8.1.110.0090.01217.25
8.1.100.0100.01016.96
8.1.90.0170.00317.38
8.1.80.0230.00017.25
8.1.70.0160.00417.25
8.1.60.0180.00417.13
8.1.50.0190.00317.12
8.1.40.0170.00617.11
8.1.30.0210.00417.23
8.1.20.0250.00416.97
8.1.10.0280.00017.24
8.1.00.0150.01117.13

preferences:
93.1 ms | 403 KiB | 5 Q