3v4l.org

run code in 300+ PHP versions simultaneously
<?php function myhash(string $pwd): string { // Use md5 to make sure arbitrary length passwords are represented fully and not truncated. return password_hash(md5($pwd, true), PASSWORD_BCRYPT); } function myverify(string $pwd, string $hash): bool { return password_verify(md5($pwd, true), $hash); } var_dump(md5('mj'), md5('oq')); $hash = myhash('mj'); // Original password 'mj' is not the same as attack password 'oq', but they verify. var_dump(myverify('oq', $hash));

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.70.0030.11717.40
8.1.60.0030.12117.46
8.1.50.0100.11617.36
8.1.40.0070.12117.43
8.1.30.0160.12317.61
8.1.20.0070.12017.62
8.1.10.0140.12117.43
8.1.00.0150.12317.37
8.0.200.0130.11516.84
8.0.190.0130.11116.80
8.0.180.0130.11516.80
8.0.170.0130.12116.81
8.0.160.0100.12016.82
8.0.150.0100.12416.68
8.0.140.0120.12116.73
8.0.130.0130.12116.78
8.0.120.0190.11616.75
8.0.110.0100.12316.69
8.0.100.0190.11616.75
8.0.90.0110.11616.85
8.0.80.0090.12016.68
8.0.70.0050.12316.75
8.0.60.0080.12116.76
8.0.50.0070.12216.75
8.0.30.0070.14416.71
8.0.20.0080.14316.83
8.0.10.0090.14016.87
8.0.00.0070.14316.92
7.4.300.0030.11616.56
7.4.290.0100.11616.38
7.4.280.0130.12016.48
7.4.270.0150.11716.61
7.4.260.0120.12116.47
7.4.250.0070.12416.49
7.4.240.0070.12416.42
7.4.230.0160.12016.44
7.4.220.0170.12016.61
7.4.210.0060.12716.49
7.4.200.0140.11816.43
7.4.190.0160.11716.59
7.4.180.0100.11916.58
7.4.160.0130.13616.55
7.4.150.0120.13716.50
7.4.140.0130.13716.39
7.4.130.0100.14316.39
7.4.120.0100.14116.38
7.4.110.0120.14416.32
7.4.100.0140.14216.45
7.4.90.0110.13616.39
7.4.80.0170.13916.42
7.4.70.0130.14516.37
7.4.60.0090.14416.40
7.4.50.0120.14016.31
7.4.40.0070.14316.29
7.4.30.0100.14816.39
7.4.20.0070.14916.31
7.4.10.0130.14016.30
7.4.00.0100.14816.46
7.3.330.0190.11316.23
7.3.320.0150.11916.23
7.3.310.0180.11516.16
7.3.300.0150.11816.17
7.3.290.0140.11916.17
7.3.280.0150.11916.21
7.3.270.0110.14116.30
7.3.260.0120.14416.34
7.3.250.0180.13816.30
7.3.240.0120.14216.29
7.3.230.0240.13416.32
7.3.220.0140.13616.21
7.3.210.0130.14116.20
7.3.200.0060.15316.19
7.3.190.0140.14116.26
7.3.180.0170.14116.26
7.3.170.0140.14316.17
7.3.160.0080.14516.24
7.3.150.0200.13916.19
7.3.140.0100.14216.20
7.3.130.0150.13816.25
7.3.120.0110.14116.19
7.3.110.0140.14016.08
7.3.100.0170.13816.13
7.3.90.0210.14016.47
7.3.80.0130.14216.22
7.3.70.0120.14416.25
7.3.60.0080.14616.32
7.3.50.0160.14216.28
7.3.40.0120.14316.28
7.3.30.0120.14316.29
7.3.20.0130.14217.52
7.3.10.0130.14117.52
7.3.00.0120.14317.43

preferences:
39.46 ms | 400 KiB | 5 Q