3v4l.org

run code in 300+ PHP versions simultaneously
<?php if(version_compare(PHP_VERSION, '5.0') <= 0) { die('Skipped'); } // Setup $class = 'Concrete5_Model_User'; $count = 10000; // Warm up for($i = 0; $i < $count; $i++) { strpos($class, 'Concrete5_Model_'); } // Test - case sensitive $t0 = microtime(true); for($i = 0; $i < $count; $i++) { if(strpos($class, 'Concrete5_Model_') === 0) { } } $deltaCS = microtime(true) - $t0; // Test - case insensitive $t0 = microtime(true); for($i = 0; $i < $count; $i++) { if(stripos($class, 'Concrete5_Model_') === 0) { } } $deltaCI = microtime(true) - $t0; // Test - substr $t0 = microtime(true); for($i = 0; $i < $count; $i++) { $ss = 'Concrete5_Model_'; if(substr($class, 0, strlen($ss) === $ss) { } } $deltaSS = microtime(true) - $t0; echo "case sensitive: ", round($deltaCS * 1000, 2), " ms\n"; echo "case insensitive: ", round($deltaCI * 1000, 2), " ms\n"; echo "case substring: ", round($deltaSS * 1000, 2), " ms\n"; echo "case sensitive gain: ", round($deltaCI * 100 / $deltaCS - 100, 2), " %\n";

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)
5.4.270.0070.03812.40
5.4.260.0030.05718.93
5.4.250.0030.05318.88
5.4.240.0100.05018.72
5.4.230.0100.05718.95
5.4.220.0100.05018.72
5.4.210.0100.05318.91
5.4.200.0070.05718.94
5.4.190.0070.05318.91
5.4.180.0070.05318.73
5.4.170.0070.05318.93
5.4.160.0070.05318.61
5.4.150.0070.06018.80
5.4.140.0030.06016.38
5.4.130.0030.07016.34
5.4.120.0230.06316.49
5.4.110.0100.05016.40
5.4.100.0130.05016.27
5.4.90.0170.04716.46
5.4.80.0170.05016.47
5.4.70.0070.05016.28
5.4.60.0130.05016.33
5.4.50.0100.04316.60
5.4.40.0130.04016.58
5.4.30.0030.05016.39
5.4.20.0130.04316.34
5.4.10.0100.04716.37
5.4.00.0100.04715.81
5.3.280.0170.06314.49
5.3.270.0070.05314.62
5.3.260.0000.06014.63
5.3.250.0070.07314.49
5.3.240.0030.07014.51
5.3.230.0070.07314.76
5.3.220.0200.04314.68
5.3.210.0030.08014.68
5.3.200.0100.06014.49
5.3.190.0100.05014.59
5.3.180.0100.07014.34
5.3.170.0070.05014.73
5.3.160.0030.05714.73
5.3.150.0100.05014.58
5.3.140.0000.05714.58
5.3.130.0070.05314.25
5.3.120.0030.05714.58
5.3.110.0130.04714.43
5.3.100.0000.05714.06
5.3.90.0170.04314.04
5.3.80.0030.06713.92
5.3.70.0130.05313.91
5.3.60.0000.05314.03
5.3.50.0070.05313.73
5.3.40.0100.04713.86
5.3.30.0070.04713.91
5.3.20.0100.05013.70
5.3.10.0100.04713.60
5.3.00.0070.04713.59
5.2.170.0030.04311.25
5.2.160.0070.04011.26
5.2.150.0200.04711.17
5.2.140.0030.04311.06
5.2.130.0030.04011.00
5.2.120.0100.03311.05
5.2.110.0070.04011.13
5.2.100.0030.04311.13
5.2.90.0000.04311.04
5.2.80.0070.04011.11
5.2.70.0100.03311.02
5.2.60.0100.03711.21
5.2.50.0070.04310.92
5.2.40.0070.04011.03
5.2.30.0030.04310.91
5.2.20.0100.03310.96
5.2.10.0030.04010.90
5.2.00.0000.04310.64
5.1.60.0000.0379.95
5.1.50.0000.04010.05
5.1.40.0070.0479.93
5.1.30.0100.03310.33
5.1.20.0000.04010.53
5.1.10.0070.0339.85
5.1.00.0070.03310.04
5.0.50.0030.0308.41
5.0.40.0100.0208.48
5.0.30.0030.0478.15
5.0.20.0070.0338.30
5.0.10.0030.0278.25
5.0.00.0030.0438.09
4.4.90.0000.0235.79
4.4.80.0000.0235.84
4.4.70.0030.0205.79
4.4.60.0030.0205.79
4.4.50.0000.0235.78
4.4.40.0000.0335.77
4.4.30.0030.0235.79
4.4.20.0070.0175.85
4.4.10.0000.0235.87
4.4.00.0070.0375.82
4.3.110.0000.0235.73
4.3.100.0000.0235.73
4.3.90.0000.0235.77
4.3.80.0030.0305.73
4.3.70.0000.0205.73
4.3.60.0000.0205.73
4.3.50.0000.0305.73
4.3.40.0030.0305.79
4.3.30.0000.0235.73
4.3.20.0000.0235.73
4.3.10.0030.0205.73
4.3.00.0000.0236.87

preferences:
138.02 ms | 1394 KiB | 7 Q