3v4l.org

run code in 300+ PHP versions simultaneously
<?php $arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']; $arrK = array_combine($arr, array_fill(0, count($arr), true)); $iters = 1_000_000; $t = microtime(true); for ($i = 0; $i < $iters; $i++) { $v = ($i % 2) ? 'a' : 'c'; $res = in_array($v, $arr); $res = in_array($v, $arr); $res = in_array($v, $arr); $res = in_array($v, $arr); } var_dump(microtime(true) - $t); $t = microtime(true); for ($i = 0; $i < $iters; $i++) { $v = ($i % 2) ? 'a' : 'c'; $res = array_key_exists($v, $arrK); $res = array_key_exists($v, $arrK); $res = array_key_exists($v, $arrK); $res = array_key_exists($v, $arrK); } var_dump(microtime(true) - $t); $t = microtime(true); for ($i = 0; $i < $iters; $i++) { $v = ($i % 2) ? 'a' : 'c'; $res = array_key_exists($v, array_keys($arr)); $res = array_key_exists($v, array_keys($arr)); $res = array_key_exists($v, array_keys($arr)); $res = array_key_exists($v, array_keys($arr)); } var_dump(microtime(true) - $t); print_r(opcache_get_status());

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.2.30.0080.54017.69
8.2.20.0000.48519.53
8.2.10.0030.51017.63
8.2.00.0130.49017.67
8.1.160.0100.54817.34
8.1.150.0070.56517.53
8.1.140.0130.54917.37
8.1.130.0100.56117.47
8.1.120.0170.54917.49
8.1.110.0200.53717.45
8.1.100.0260.54917.50
8.1.90.0100.54817.45
8.1.80.0220.54617.49
8.1.70.0130.55117.46
8.1.60.0070.54517.57
8.1.50.0070.55417.59
8.1.40.0100.58117.57
8.1.30.0070.55619.42
8.1.20.0070.56617.59
8.1.10.0100.55417.60
8.1.00.0100.55317.53
8.0.280.0100.56816.82
8.0.270.0070.57616.82
8.0.260.0070.55616.80
8.0.250.0030.58916.89
8.0.240.0000.59316.88
8.0.230.0100.59216.89
8.0.220.0070.56016.73
8.0.210.0100.59816.68
8.0.200.0100.58716.87
8.0.190.0000.56216.85
8.0.180.0070.59016.89
8.0.170.0100.58216.78
8.0.160.0070.57016.89
8.0.150.0130.64116.91
8.0.140.0200.62916.89
8.0.130.0130.62316.78
8.0.120.0000.55916.70
8.0.110.0070.56316.82
8.0.100.0070.58916.82
8.0.90.0030.58216.87
8.0.80.0100.58616.82
8.0.70.0070.56316.73
8.0.60.0100.55916.82
8.0.50.0030.55916.79
8.0.30.0070.56716.78
8.0.20.0070.55416.76
8.0.10.0000.58016.90

preferences:
39.11 ms | 403 KiB | 5 Q