3v4l.org

run code in 300+ PHP versions simultaneously
<?php function realValue($value) { if ( is_string($value) && strpos($value, '"SuperClosure\Serialize"') !== false ){ return 'closure!'; } return $value; } function rand_string($len) { $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; $size = strlen($chars); $str = null; for ($i = 0; $i < $len; $i++) { $str .= $chars[ rand( 0, $size - 1 ) ]; } return $str; } $records = []; for ($i = 1; $i <= 2000; $i++) { $records[$i] = rand_string(1000); } // Ignore above, just generate a random string with 20,000 records. $read_value = null; $realValue_bench_start = microtime(true); foreach ($records as $record) { $read_value = realValue($record); } $realValue_bench_end = microtime(true); $directAccess_bench_start = microtime(true); foreach ($records as $record) { $read_value = $record; } $directAccess_bench_end = microtime(true); $diffRealValue = $realValue_bench_end - $realValue_bench_start; $diffDirectAccess = $directAccess_bench_end - $directAccess_bench_start; echo("readValue time: $diffRealValue"); echo("\ndirectAccess time: $diffDirectAccess"); echo("\ndifference:" . ($diffRealValue - $diffDirectAccess));
Output for 7.2.4
readValue time: 0.00059294700622559 directAccess time: 4.4107437133789E-5 difference:0.0005488395690918
Output for 7.2.3
readValue time: 0.00057101249694824 directAccess time: 4.9829483032227E-5 difference:0.00052118301391602
Output for 7.2.2
readValue time: 0.00045108795166016 directAccess time: 3.8862228393555E-5 difference:0.0004122257232666
Output for 7.2.1
readValue time: 0.00053119659423828 directAccess time: 4.2915344238281E-5 difference:0.00048828125
Output for 7.2.0
readValue time: 0.00046801567077637 directAccess time: 3.7908554077148E-5 difference:0.00043010711669922
Output for 7.1.16
readValue time: 0.00050902366638184 directAccess time: 4.0054321289062E-5 difference:0.00046896934509277
Output for 7.1.15
readValue time: 0.00069594383239746 directAccess time: 7.2956085205078E-5 difference:0.00062298774719238
Output for 7.1.14
readValue time: 0.00046706199645996 directAccess time: 4.887580871582E-5 difference:0.00041818618774414
Output for 7.1.13
readValue time: 0.00051212310791016 directAccess time: 3.6954879760742E-5 difference:0.00047516822814941
Output for 7.1.10, 7.1.12
readValue time: 0.00048995018005371 directAccess time: 3.9100646972656E-5 difference:0.00045084953308105
Output for 7.1.11
readValue time: 0.00042200088500977 directAccess time: 4.4107437133789E-5 difference:0.00037789344787598
Output for 7.1.9
readValue time: 0.00045108795166016 directAccess time: 4.4107437133789E-5 difference:0.00040698051452637
Output for 7.1.8
readValue time: 0.00050806999206543 directAccess time: 4.7922134399414E-5 difference:0.00046014785766602
Output for 7.1.7
readValue time: 0.00040984153747559 directAccess time: 3.814697265625E-5 difference:0.00037169456481934
Output for 7.1.6
readValue time: 0.0004119873046875 directAccess time: 3.9100646972656E-5 difference:0.00037288665771484
Output for 7.1.5
readValue time: 0.00047802925109863 directAccess time: 4.2915344238281E-5 difference:0.00043511390686035
Output for 7.1.4
readValue time: 0.0047369003295898 directAccess time: 5.1021575927734E-5 difference:0.0046858787536621
Output for 7.1.3
readValue time: 0.0005347728729248 directAccess time: 4.8160552978516E-5 difference:0.00048661231994629
Output for 7.1.2
readValue time: 0.00051093101501465 directAccess time: 3.814697265625E-5 difference:0.0004727840423584
Output for 7.1.1
readValue time: 0.0005030632019043 directAccess time: 4.0054321289062E-5 difference:0.00046300888061523
Output for 7.1.0
readValue time: 0.0004270076751709 directAccess time: 4.3869018554688E-5 difference:0.00038313865661621

preferences:
69.15 ms | 401 KiB | 27 Q