3v4l.org

run code in 300+ PHP versions simultaneously
<?php function get_reputation($user, $mode = '', $rep_is_on = TRUE, $post_id = 0) { global $INSTALLER09, $CURUSER; $member_reputation = ""; if ($rep_is_on) { include CACHE_DIR . '/rep_cache.php'; //require_once (CLASS_DIR . 'class_user_options.php'); // ok long winded file checking, but it's much better than file_exists if (!isset($reputations) || !is_array($reputations) || count($reputations) < 1) { return '<span title="Cache doesn\'t exist or zero length">Reputation: Offline</span>'; } $user['g_rep_hide'] = isset($user['g_rep_hide']) ? $user['g_rep_hide'] : 0; //$user['username'] = (($user['opt1'] & user_options::ANONYMOUS) ? $user['username'] : 'Anonymous'); $user['username'] = ($user['anonymous'] != 'yes') ? $user['username'] : 'Anonymous'; // Hmmm...bit of jiggery-pokery here, couldn't think of a better way. $max_rep = max(array_keys($reputations)); if ($user['reputation'] >= $max_rep) { $user_reputation = $reputations[$max_rep]; } else foreach ($reputations as $y => $x) { if ($y > $user['reputation']) { $user_reputation = $old; break; } $old = $x; } //$rep_is_on = TRUE; //$CURUSER['g_rep_hide'] = FALSE; $rep_power = $user['reputation']; $posneg = ''; if ($user['reputation'] == 0) { $rep_img = 'balance'; $rep_power = $user['reputation'] * -1; } elseif ($user['reputation'] < 0) { $rep_img = 'neg'; $rep_img_2 = 'highneg'; $rep_power = $user['reputation'] * -1; } else { $rep_img = 'pos'; $rep_img_2 = 'highpos'; } $pips = 12; switch ($mode) { case 'comments': $pips = 12; break; case 'torrents': $pips = 1003; break; case 'users': $pips = 970; break; case 'posts': $pips = 12; break; default: $pips = 12; // statusbar } $rep_bar = intval($rep_power / 100); if ($rep_bar > 10) { $rep_bar = 10; } if ($user['g_rep_hide']) // can set this to a group option if required, via admin? { $posneg = 'off'; $rep_level = 'rep_off'; } else { // it ain't off then, so get on with it! I wanna see shiny stuff!! $rep_level = $user_reputation ? $user_reputation : 'rep_undefined'; // just incase for ($i = 0; $i <= $rep_bar; $i++) { if ($i >= 5) { $posneg.= "<img src='pic/rep/reputation_$rep_img_2.gif' alt=\"Reputation Power $rep_power\n" . htmlsafechars($user['username']) . " $rep_level\" />"; } else { $posneg.= "<img src='pic/rep/reputation_$rep_img.gif' alt=\"Reputation Power $rep_power\n" . htmlsafechars($user['username']) . " $rep_level\" />"; } } } // now decide the locale if ($mode != '') return "Rep: " . $posneg . "<br /><br /><a href='javascript:;' onclick=\"PopUp('{$INSTALLER09['baseurl']}/reputation.php?pid=" . ($post_id != 0 ? (int)$post_id : (int)$user['id']) . "&amp;locale=" . $mode . "','Reputation',400,241,1,1);\"><button type='button' class='btn btn-default btn-xs' style='margin-top:-9px;' alt='Add reputation:: " . htmlsafechars($user['username']) . "' title='Add reputation:: " . htmlsafechars($user['username']) . "'><i class='fa fa-check'></i> Add Rep</button></a>"; else return " " . $posneg; } // END IF ONLINE // default return '<span title="Set offline by admin setting">Rep System Offline</span>'; }

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.3.60.0140.00718.55
8.3.50.0140.00717.90
8.3.40.0110.00418.69
8.3.30.0070.00718.59
8.3.20.0050.00320.39
8.3.10.0000.00723.48
8.3.00.0100.00019.43
8.2.180.0040.01118.11
8.2.170.0140.00422.96
8.2.160.0100.00320.46
8.2.150.0080.00024.18
8.2.140.0050.00324.66
8.2.130.0080.00026.16
8.2.120.0080.00021.03
8.2.110.0030.00620.38
8.2.100.0070.00717.78
8.2.90.0080.00017.70
8.2.80.0050.00320.53
8.2.70.0000.00817.80
8.2.60.0040.00417.68
8.2.50.0000.00818.10
8.2.40.0070.00020.42
8.2.30.0000.00719.21
8.2.20.0000.00818.04
8.2.10.0000.00817.92
8.2.00.0040.00418.17
8.1.280.0090.01625.92
8.1.270.0040.00422.19
8.1.260.0000.00826.35
8.1.250.0050.00328.09
8.1.240.0030.00622.42
8.1.230.0000.01020.95
8.1.220.0000.00817.74
8.1.210.0060.00318.77
8.1.200.0000.01217.13
8.1.190.0050.00317.23
8.1.180.0060.00318.10
8.1.170.0050.00318.51
8.1.160.0000.00718.72
8.1.150.0050.00220.32
8.1.140.0000.00717.67
8.1.130.0060.00318.87
8.1.120.0040.00417.38
8.1.110.0000.00717.41
8.1.100.0000.00717.34
8.1.90.0050.00217.41
8.1.80.0000.00817.36
8.1.70.0000.00717.38
8.1.60.0060.00317.49
8.1.50.0000.00817.45
8.1.40.0040.00417.43
8.1.30.0030.00517.51
8.1.20.0030.00517.54
8.1.10.0000.00817.41
8.1.00.0040.00417.29
8.0.300.0050.00321.80
8.0.290.0050.00216.63
8.0.280.0000.00818.34
8.0.270.0000.00717.17
8.0.260.0030.00316.75
8.0.250.0000.00716.81
8.0.240.0000.00716.89
8.0.230.0050.00216.90
8.0.220.0030.00316.84
8.0.210.0000.00716.72
8.0.200.0000.00716.90
8.0.190.0000.00816.87
8.0.180.0000.00716.79
8.0.170.0090.00016.82
8.0.160.0000.00716.85
8.0.150.0000.00816.73
8.0.140.0070.00016.77
8.0.130.0070.00013.20
8.0.120.0080.00016.72
8.0.110.0040.00416.66
8.0.100.0000.00716.81
8.0.90.0070.00016.70
8.0.80.0120.00316.82
8.0.70.0000.00816.93
8.0.60.0040.00416.71
8.0.50.0000.00716.80
8.0.30.0110.00816.86
8.0.20.0110.00817.40
8.0.10.0000.00816.89
8.0.00.0110.01016.67
7.4.330.0000.00615.55
7.4.320.0060.00016.47
7.4.300.0030.00416.49
7.4.290.0030.00316.55
7.4.280.0040.00416.43
7.4.270.0030.00316.33
7.4.260.0030.00516.34
7.4.250.0050.00316.41
7.4.240.0030.00316.41
7.4.230.0070.00016.64
7.4.220.0030.00516.33
7.4.210.0030.01116.58
7.4.200.0000.00716.36
7.4.160.0080.01016.36
7.4.150.0120.00617.40
7.4.140.0100.01017.86
7.4.130.0140.00716.48
7.4.120.0080.01016.49
7.4.110.0070.01016.48
7.4.100.0040.01216.28
7.4.90.0090.00916.44
7.4.80.0030.01619.39
7.4.70.0090.00916.39
7.4.60.0070.01016.41
7.4.50.0070.00716.14
7.4.40.0060.01016.23
7.4.00.0070.01114.41
7.3.330.0020.00213.25
7.3.320.0050.00013.30
7.3.310.0000.00816.21
7.3.300.0070.00016.33
7.3.290.0150.00016.25
7.3.280.0120.00316.25
7.3.270.0090.00817.40
7.3.260.0120.00716.33
7.3.240.0060.01216.32
7.3.230.0070.01016.25
7.3.210.0100.00616.30
7.3.200.0060.01016.42
7.3.190.0120.00616.56
7.3.180.0120.00316.23
7.3.170.0030.01316.35
7.3.160.0070.01016.37
7.2.330.0140.00316.52
7.2.320.0130.00316.48
7.2.310.0100.00716.20
7.2.300.0120.00916.59
7.2.290.0160.00716.36
7.2.110.0070.00716.14
7.2.60.0070.00716.49
7.2.20.0360.01517.60
7.2.10.0330.01417.61
7.2.00.0220.01417.60
7.1.200.0060.00615.57
7.1.140.0370.01116.36
7.1.130.0340.00916.53
7.1.120.0280.01116.60
7.1.110.0310.01115.89
7.1.100.0360.01115.97
7.1.90.0330.01215.76
7.1.80.0280.01115.80
7.1.70.0350.00615.12
7.1.60.0360.01133.10
7.1.50.0540.00432.94
7.1.40.0470.01832.46
7.1.30.0440.01232.74
7.1.20.0280.01432.71
7.1.10.0530.01314.69
7.1.00.0550.00914.63

preferences:
31.34 ms | 401 KiB | 5 Q