3v4l.org

run code in 300+ PHP versions simultaneously
<?php function moon($time = null, $mps = 2551443) { $time = is_null($time) ? 0 : (time() - $time); $first_moon = time()-mktime(0, 0, 0, 0, 0, 1923); // first moon (1923) date_default_timezone_set("UTC"); return [ 'date' => date_create_from_format('U', time()-$time)->format('Y-m-d H:i:s'), 'lunation' => ($first_moon-$time)/$mps, 'phase' => ($time - $mps * intval($time / $mps)) / $mps ]; } $mps = 2551443; // moon phase in seconds (29 days, 12 hours, 44 mins, 3 secs) $test = function () use ($mps) { $begin = new DateTime('2001-01-24'); $end = new DateTime('2004-12-12'); $dtia = date_create_from_format('U', 0); $dtib = date_create_from_format('U', $mps); $interval = new DateInterval('P'.$dtia->diff($dtib)->format('%aDT%hH%iM%sS')); $daterange = new DatePeriod($begin, $interval ,$end); foreach($daterange as $date){ yield moon($date->format('U')); } }; foreach ($test() as $result) { print_r($result); }

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.1.120.0070.00718.84
8.1.110.0120.00818.83
8.1.100.0140.00518.82
8.1.90.0100.00618.68
8.1.80.0170.00018.74
8.1.70.0080.00818.73
8.1.60.0160.00418.94
8.1.50.0140.00718.74
8.1.40.0160.00418.88
8.1.30.0160.00018.82
8.1.20.0160.00418.82
8.1.10.0160.00418.88
8.1.00.0050.01418.83
8.0.250.0090.00318.20
8.0.240.0130.00318.18
8.0.230.0110.00518.18
8.0.220.0170.00018.22
8.0.210.0090.00618.06
8.0.200.0140.00518.26
8.0.190.0150.00218.31
8.0.180.0120.00518.17
8.0.170.0130.00318.27
8.0.160.0140.00418.18
8.0.150.0100.00718.18
8.0.140.0050.01018.11
8.0.130.0040.01018.20
8.0.120.0140.00218.11
8.0.110.0100.00518.18
8.0.100.0040.01218.10
8.0.90.0150.00018.10
8.0.80.0060.01218.22
8.0.70.0130.00417.50
8.0.60.0070.00918.11
8.0.50.0090.00618.27
8.0.30.0080.00818.25
8.0.20.0100.00618.18
8.0.10.0070.00718.22
8.0.00.0140.00318.39
7.4.330.0120.00215.55
7.4.320.0090.00917.79
7.4.300.0140.00217.62
7.4.290.0150.00317.73
7.4.280.0190.00017.77
7.4.270.0170.00217.61
7.4.260.0130.00317.77
7.4.250.0060.00617.73
7.4.240.0070.00217.61
7.4.230.0030.00719.52
7.4.220.0000.01219.39
7.4.210.0040.01217.78
7.4.200.0040.00917.61
7.4.190.0080.00817.66
7.4.180.0070.00717.77
7.4.160.0120.00417.67
7.4.150.0050.01017.62
7.4.140.0100.00617.66
7.4.130.0030.01217.59
7.4.120.0180.00017.63
7.4.110.0120.00617.72
7.4.100.0180.00717.24
7.4.90.0180.00517.17
7.4.80.0240.00117.19
7.4.70.0230.00417.02
7.4.60.0220.00317.14
7.4.50.0110.01217.01
7.4.40.0170.00817.15
7.4.30.0130.00817.12
7.4.20.0170.00716.90
7.4.10.0180.00617.04
7.4.00.0080.00916.50
7.3.330.0100.00817.55
7.3.320.0160.00017.57
7.3.310.0080.00817.53
7.3.300.0150.00017.58
7.3.290.0100.00517.57
7.3.280.0110.00517.58
7.3.270.0150.00017.66
7.3.260.0070.00817.48
7.3.250.0070.00817.47
7.3.240.0110.00517.54
7.3.230.0090.00617.50
7.3.220.0150.01217.20
7.3.210.0200.00817.08
7.3.200.0180.00817.16
7.3.190.0160.01317.05
7.3.180.0190.00917.13
7.3.170.0190.00817.05
7.3.160.0180.00717.13
7.3.150.0200.00817.13
7.3.140.0180.00816.98
7.3.130.0170.00816.98
7.3.120.0140.00916.38
7.3.110.0160.00616.40
7.3.100.0150.00716.47
7.3.90.0140.00816.54
7.3.80.0110.00715.87
7.3.70.0120.00715.74
7.3.60.0130.00715.68
7.3.50.0120.00815.69
7.3.40.0070.01115.81
7.3.30.0120.00715.86
7.3.20.0140.00916.05
7.3.10.0140.00815.96
7.3.00.0140.00715.99
7.2.340.0100.00717.70
7.2.330.0150.01017.46
7.2.320.0100.01417.43
7.2.310.0150.00917.43
7.2.300.0110.01317.24
7.2.290.0120.01217.32
7.2.280.0120.01317.33
7.2.270.0150.01017.21
7.2.260.0170.00817.11
7.2.250.0170.00716.69
7.2.240.0180.00416.69
7.2.230.0150.00916.80
7.2.220.0140.01116.73
7.2.210.0110.01016.00
7.2.200.0100.00816.11
7.2.190.0090.01016.10
7.2.180.0110.00716.05
7.2.170.0120.00716.11
7.2.160.0120.00816.14
7.2.150.0200.00716.43
7.2.140.0180.01016.39
7.2.130.0150.00916.44
7.2.120.0150.00916.36
7.2.110.0140.01016.41
7.2.100.0160.00716.42
7.2.90.0260.00916.40
7.2.80.0140.00916.41
7.2.70.0150.00916.40
7.2.60.0130.00816.50
7.2.50.0110.01416.45
7.2.40.0270.00916.41
7.2.30.0130.01016.38
7.2.20.0200.00916.72
7.2.10.0170.00916.60
7.2.00.0170.00816.62
7.1.330.0120.01016.00
7.1.320.0140.01016.12
7.1.310.0150.00915.21
7.1.300.0190.00515.22
7.1.290.0120.00915.19
7.1.280.0140.00715.27
7.1.270.0120.00815.21
7.1.260.0130.00915.19
7.1.250.0150.00715.17
7.1.240.0180.00615.27
7.1.230.0130.00915.27
7.1.220.0150.00815.30
7.1.210.0140.00915.24
7.1.200.0120.00815.27
7.1.190.0140.00915.25
7.1.180.0180.00515.26
7.1.170.0170.00715.14
7.1.160.0140.01015.32
7.1.150.0160.00815.21
7.1.140.0190.00915.40
7.1.130.0180.01015.44
7.1.120.0200.01015.45
7.1.110.0200.00915.48
7.1.100.0200.00815.40
7.1.90.0170.01115.41
7.1.80.0150.01015.37
7.1.70.0270.00715.20
7.1.60.0200.00717.45
7.1.50.0140.01217.44
7.1.40.0170.01117.50
7.1.30.0240.00817.38
7.1.20.0200.00817.41
7.1.10.0150.01015.19
7.1.00.0230.01115.24
7.0.330.0240.00914.92
7.0.320.0150.01216.29
7.0.310.0190.00516.33
7.0.300.0120.01116.23
7.0.290.0180.00816.28
7.0.280.0200.01216.43
7.0.270.0190.01116.41
7.0.260.0170.00816.32
7.0.250.0160.00816.47
7.0.240.0150.01016.42
7.0.230.0180.00816.55
7.0.220.0180.00716.46
7.0.210.0180.01016.39
7.0.200.0150.00916.42
7.0.190.0180.00916.42
7.0.180.0170.00716.40
7.0.170.0160.01016.51
7.0.160.0180.00816.42
7.0.150.0170.00916.44
7.0.140.0180.00916.49
7.0.130.0280.00816.43
7.0.120.0210.00716.27
7.0.110.0130.01316.38
7.0.100.0170.01116.51
7.0.90.0180.01116.27
7.0.80.0170.01116.27
7.0.70.0180.00816.38
7.0.60.0180.01016.33
7.0.50.0170.01116.35
7.0.40.0210.00716.42
7.0.30.0160.01216.36
7.0.20.0200.00716.26
7.0.10.0180.00816.41
7.0.00.0150.01116.28
5.6.400.0140.01015.43
5.6.390.0190.00715.32
5.6.380.0140.01015.35
5.6.370.0130.01216.52
5.6.360.0140.01116.36
5.6.350.0160.00916.46
5.6.340.0200.00816.45
5.6.330.0120.01416.54
5.6.320.0160.01116.44
5.6.310.0140.01416.59
5.6.300.0150.01316.46
5.6.290.0230.00816.61
5.6.280.0130.01616.51
5.6.270.0170.01116.44
5.6.260.0130.01316.47
5.6.250.0160.01316.54
5.6.240.0210.01016.56
5.6.230.0160.01316.54
5.6.220.0200.01016.46
5.6.210.0210.01016.50
5.6.200.0140.01616.49
5.6.190.0200.01016.54
5.6.180.0180.01216.45
5.6.170.0180.01316.38
5.6.160.0160.01416.54
5.6.150.0170.01216.41
5.6.140.0210.01016.51
5.6.130.0170.01016.51
5.6.120.0180.01316.46
5.6.110.0140.01616.56
5.6.100.0150.01316.40
5.6.90.0150.01516.48
5.6.80.0120.01316.45
5.6.70.0130.01416.36
5.6.60.0120.01316.40
5.6.50.0150.01016.37
5.6.40.0120.01316.44
5.6.30.0150.01116.46
5.6.20.0180.01016.44
5.6.10.0120.01516.34
5.6.00.0160.01216.48

preferences:
18.88 ms | 401 KiB | 5 Q