3v4l.org

run code in 300+ PHP versions simultaneously
<?php $emoticons = array( // ... 'cry' => array( 'image' => '<img class="smiley" src="/image/emoticon/cry.gif" />', 'emoticons' => array(":'(", ";'(", ":'-(", ";'-(") ), ); function replaceEmoticons($input) { global $emoticons; $output = $input; foreach ($emoticons as $emo_group_name => $emo_group) { $regex_emo_part = array(); foreach ($emo_group['emoticons'] as $emoticon) { $regex_emo_part[] = preg_quote($emoticon, '#'); } $regex_emo_part = implode('|', $regex_emo_part); $regex = '#(?!<\w)(' . $regex_emo_part .')(?!\w)#'; $output = preg_replace($regex, $emo_group['image'], $output); } return $output; } var_dump(replaceEmoticons(":'(;'(:'-(;'-(");

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.340.0100.03412.03
5.4.320.0050.03712.52
5.4.310.0070.03712.52
5.4.300.0050.04112.52
5.4.290.0030.04012.52
5.4.280.0030.03912.41
5.4.270.0060.04312.41
5.4.260.0100.03412.41
5.4.250.0070.03912.41
5.4.240.0070.04012.41
5.4.230.0110.04312.40
5.4.220.0040.03812.40
5.4.210.0060.03512.40
5.4.200.0090.04012.41
5.4.190.0070.03912.40
5.4.180.0040.04112.40
5.4.170.0070.03512.41
5.4.160.0110.04112.40
5.4.150.0070.03512.39
5.4.140.0100.03412.09
5.4.130.0030.03912.07
5.4.120.0060.03612.04
5.4.110.0050.03612.03
5.4.100.0040.03912.03
5.4.90.0070.03512.03
5.4.80.0090.04012.03
5.4.70.0060.03912.03
5.4.60.0030.03812.02
5.4.50.0100.03412.03
5.4.40.0040.03812.01
5.4.30.0050.04112.01
5.4.20.0100.04612.01
5.4.10.0080.03912.01
5.4.00.0070.03511.50
5.3.290.0090.03612.80
5.3.280.0110.04712.71
5.3.270.0050.04312.72
5.3.260.0090.03712.72
5.3.250.0100.03912.72
5.3.240.0060.04412.72
5.3.230.0050.03912.71
5.3.220.0070.03612.68
5.3.210.0070.04512.68
5.3.200.0030.04012.68
5.3.190.0060.04112.68
5.3.180.0080.03712.68
5.3.170.0080.03612.67
5.3.160.0070.03812.67
5.3.150.0130.03712.68
5.3.140.0090.03612.66
5.3.130.0040.04112.66
5.3.120.0080.04112.66
5.3.110.0080.04112.66
5.3.100.0040.03912.12
5.3.90.0060.03712.10
5.3.80.0050.03912.09
5.3.70.0090.03712.09
5.3.60.0090.03612.08
5.3.50.0110.04012.03
5.3.40.0130.03312.03
5.3.30.0110.03211.98
5.3.20.0040.03811.77
5.3.10.0090.03211.73
5.3.00.0080.04111.72
5.2.170.0070.0329.22
5.2.160.0050.0379.22
5.2.150.0040.0329.22
5.2.140.0040.0329.22
5.2.130.0060.0369.18
5.2.120.0060.0289.18
5.2.110.0080.0279.19
5.2.100.0080.0299.18
5.2.90.0040.0309.18
5.2.80.0050.0369.18
5.2.70.0100.0329.18
5.2.60.0040.0339.13
5.2.50.0060.0309.10
5.2.40.0040.0309.08
5.2.30.0050.0319.05
5.2.20.0020.0319.04
5.2.10.0030.0298.95
5.2.00.0080.0268.81
5.1.60.0090.0248.10
5.1.50.0080.0228.09
5.1.40.0020.0268.07
5.1.30.0070.0238.42
5.1.20.0050.0268.44
5.1.10.0070.0228.16
5.1.00.0050.0248.17
5.0.50.0070.0176.65
5.0.40.0040.0216.52
5.0.30.0040.0366.32
5.0.20.0080.0316.29
5.0.10.0030.0206.28
5.0.00.0040.0356.27
4.4.90.0030.0174.78
4.4.80.0050.0224.76
4.4.70.0050.0194.75
4.4.60.0060.0124.76
4.4.50.0030.0154.77
4.4.40.0020.0274.71
4.4.30.0010.0194.76
4.4.20.0040.0194.84
4.4.10.0020.0164.85
4.4.00.0020.0314.76
4.3.110.0020.0194.67
4.3.100.0050.0134.66
4.3.90.0030.0154.64
4.3.80.0020.0254.58
4.3.70.0060.0114.63
4.3.60.0030.0224.63
4.3.50.0050.0194.63
4.3.40.0040.0234.54
4.3.30.0020.0173.31
4.3.20.0010.0183.29
4.3.10.0020.0193.25
4.3.00.0200.0307.26

preferences:
143.95 ms | 1394 KiB | 7 Q