3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Assert { /** * @param int $value * * @return self */ public static function unsignedInt(int $value) : string { if (0 > $value) { throw new InvalidArgumentException('Значение должно быть не отрицательным.'); } return __CLASS__; } /** * @param int $value * * @return self */ public static function notZeroInt(int $value) : string { if (0 === $value) { throw new InvalidArgumentException('Значение должно быть не равным нолю.'); } return __CLASS__; } /** * @param float $value * * @return self */ public static function unsignedFloat(float $value) : string { if (0 > $value) { throw new InvalidArgumentException('Значение должно быть не отрицательным.'); } return __CLASS__; } /** * @param float $value * * @return self */ public static function notZeroFloat(float $value) : string { if (0 === $value) { throw new InvalidArgumentException('Значение должно быть не равным нолю.'); } return __CLASS__; } /** * @param string $value * * @return self */ public static function notEmptyString(string $value) : string { if ('' === $value) { throw new InvalidArgumentException('Значение должно быть не пустой строкой'); } return __CLASS__; } } Assert::notZeroInt(3)::unsignedInt(3); Assert::notZeroInt(0)::unsignedInt(0);

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.120.0120.00922.05
8.4.110.0070.00122.45
8.4.100.0130.00718.02
8.4.90.0110.01018.46
8.4.80.0110.00818.25
8.4.70.0080.00517.91
8.4.60.0120.00818.52
8.4.50.0100.01118.04
8.4.40.0160.00320.67
8.4.30.0120.00620.40
8.4.20.0060.00319.75
8.4.10.0070.00323.80
8.3.250.0100.01019.12
8.3.240.0050.00416.71
8.3.230.0110.00816.67
8.3.220.0060.00217.07
8.3.210.0110.00916.61
8.3.200.0040.00516.88
8.3.190.0090.01017.12
8.3.180.0090.01118.40
8.3.170.0030.00717.20
8.3.160.0070.01116.57
8.3.150.0120.00616.98
8.3.140.0060.01216.66
8.3.130.0030.00618.56
8.3.120.0040.00420.65
8.3.110.0150.00020.94
8.3.100.0100.00024.06
8.3.90.0050.00326.77
8.3.80.0030.00618.43
8.3.70.0110.01118.31
8.3.60.0090.00618.43
8.3.50.0100.01016.80
8.3.40.0100.00320.38
8.3.30.0090.00618.86
8.3.20.0040.00424.18
8.3.10.0040.00424.66
8.3.00.0040.00426.16
8.2.290.0050.00920.38
8.2.280.0110.00720.12
8.2.270.0070.00716.88
8.2.260.0120.00616.88
8.2.250.0080.00018.38
8.2.240.0090.00018.74
8.2.230.0060.00322.58
8.2.220.0030.00637.54
8.2.210.0150.00026.77
8.2.200.0030.00616.63
8.2.190.0180.00417.00
8.2.180.0150.00616.88
8.2.170.0120.00618.86
8.2.160.0030.01022.96
8.2.150.0070.00025.66
8.2.140.0080.00024.66
8.2.130.0040.00426.16
8.2.120.0070.00026.16
8.2.110.0060.00322.30
8.2.100.0120.00017.78
8.2.90.0040.00418.03
8.2.80.0030.00617.97
8.2.70.0050.00317.63
8.2.60.0080.00017.80
8.2.50.0050.00318.07
8.2.40.0030.00518.04
8.2.30.0000.00818.03
8.2.20.0060.00617.61
8.2.10.0100.00517.74
8.2.00.0030.00717.78
8.1.330.0090.01020.27
8.1.320.0100.00916.04
8.1.310.0040.01416.21
8.1.300.0020.00518.16
8.1.290.0000.00830.84
8.1.280.0040.01125.92
8.1.270.0040.00424.66
8.1.260.0040.00426.35
8.1.250.0070.00028.09
8.1.240.0090.00022.38
8.1.230.0040.00821.01
8.1.220.0060.00317.74
8.1.210.0030.00618.88
8.1.200.0030.00617.25
8.1.190.0000.00817.10
8.1.180.0000.00818.10
8.1.170.0070.00418.71
8.1.160.0060.00318.77
8.1.150.0110.00017.37
8.1.140.0050.00517.38
8.1.130.0060.00617.42
8.1.120.0080.00317.53
8.1.110.0050.00517.54
8.1.100.0080.00317.48
8.1.90.0100.00017.48
8.1.80.0070.00319.19
8.1.70.0080.00417.42
8.1.60.0200.00017.52
8.1.50.0060.01017.44
8.1.40.0170.00317.49
8.1.30.0190.00317.54
8.1.20.0150.00417.52
8.1.10.0200.00017.54
8.1.00.0180.00417.48
8.0.300.0020.00520.03
8.0.290.0040.00416.88
8.0.280.0000.00718.43
8.0.270.0130.00316.76
8.0.260.0090.00916.86
8.0.250.0080.00416.86
8.0.240.0100.00316.80
8.0.230.0160.00016.88
8.0.220.0120.00016.76
8.0.210.0080.00316.91
8.0.200.0100.00316.89
8.0.190.0130.00316.96
8.0.180.0100.00516.91
8.0.170.0130.00016.82
8.0.160.0090.00416.86
8.0.150.0090.00616.85
8.0.140.0140.00016.82
8.0.130.0070.00716.88
8.0.120.0080.00516.91
8.0.110.0100.00316.91
8.0.100.0070.00716.91
8.0.90.0150.00016.89
8.0.80.0150.00016.95
8.0.70.0150.00016.96
8.0.60.0130.00316.86
8.0.50.0090.00316.91
8.0.30.0090.00018.57
8.0.20.0030.00618.73
8.0.10.0060.00218.65

preferences:
30.95 ms | 403 KiB | 5 Q