3v4l.org

run code in 300+ PHP versions simultaneously
<?php #if ($_SESSION['uid'] == null) header("Location: index.php"); ###!/usr/bin/php #echo mysql_error(); error_reporting(E_ALL); // демон, запускающий волны $names = array("Слуга хаоса","Котельщик","Зомби-Надсмотрщик","Адский палач", "Бродячий Труп", "Демон Хаоса", "Проклятье Хаоса", "Предводитель Хаоса"); $bots = array(22,23,26,87,90,20759,11154); $shema = array ( "22" => 2, "23" => 1, "26" => 1, "87" => 1, "90" => 1, "20759" => 1, "11154" => 1 ); // подключаем конфиг include ('/var/www/localhost/htdocs/connect.php'); // подключаем функции include ('/var/www/localhost/htdocs/functions.php'); // циклим демона while(1) { // итерация // есть ли конект с базой $test = mysql_fetch_array(mysql_query("SELECT 1;")); if($test[1]!=1) { include ('/var/www/localhost/htdocs/connect.php'); } // выбираем все походы $pohs = mysql_query("SELECT `owner`,`volna`, `id`, `win` FROM `hellround_pohod` WHERE `end` = 0;"); while ($poh = mysql_fetch_array($pohs)) { // проверяем на живность $u = mysql_fetch_array(mysql_query("SELECT `hp`, `win`, `battle`, `maxhp` FROM `users` WHERE `id` = '".$poh['owner']."' LIMIT 1;")); if($u['hp'] <= 0) { // удаляем ресурсы mysql_query("DELETE FROM `inventory` WHERE `owner` = '".$poh['owner']."' AND `bs` = 1;"); ##mysql_query("UPDATE `hellround_pohod` SET `end` = 1, `date_out` = NOW( ) WHERE `id` = ".$poh['id']." AND `end` = 0;"); addchp ('<font color=red>Внимание!</font> Вы потерпели поражение в борьбе с Хаосом...<BR>\'; top.frames[\'main\'].location=\'main.php\'; var z = \' ','{[]}'.nick7 ($poh['owner']).'{[]}'); ##echo "USER: ".$poh['owner']." live trip.\n"; } else { // забираем последний бой, может пора запускать волну? Проверяем что победа одержена win = 3 #$last_a = mysql_fetch_array(mysql_query("SELECT `id` FROM `battle` WHERE `t1` = '".$poh['owner']."' AND `win` = 3 ORDER by `id` DESC LIMIT 1;")); #$last_b = mysql_fetch_array(mysql_query("SELECT `to1` FROM `battle` WHERE `t1` = '".$poh['owner']."' AND `win` <> 3 ORDER by `id` DESC LIMIT 1;")); // забираем последний бой, может пора запускать волну? Все равно, пробедили или нет... $last_a = mysql_fetch_array(mysql_query("SELECT `id` FROM `battle` WHERE `t1` = '".$poh['owner']."' ORDER by `id` DESC LIMIT 1;")); $last_b = mysql_fetch_array(mysql_query("SELECT `to1` FROM `battle` WHERE `t1` = '".$poh['owner']."' ORDER by `id` DESC LIMIT 1;")); $last_b = $last_b[0]; $last_a = $last_a[0]; // echo $last_a." ".$last_b." ".$poh['owner']."\n"; // проверяем, запускаем ботов if ((time()-$last_b) >= 10 && $last_a == 0) { if ((time()-$last_b) >= 30 && $u['battle']==0 && $u['hp'] > $u['maxhp']/2) { // если прошло больше минуты, стартуем волну $nextvolna = $poh['volna']+1; $bot[1] = $shema[$bots[0]]*$nextvolna; $bot[2] = $shema[$bots[1]]*$nextvolna; $bot[3] = $shema[$bots[2]]*$nextvolna; if ($nextvolna >= 10) { $bot[4] = $shema[$bots[3]]*$nextvolna; $bot[5] = $shema[$bots[4]]*$nextvolna; $bot[6] = $shema[$bots[5]]*$nextvolna; } if ($nextvolna >= 25) { $bot[7] = $shema[$bots[6]]*$nextvolna; $bot[8] = $shema[$bots[7]]*$nextvolna; $bot[9] = $shema[$bots[8]]*$nextvolna; } // делаем массив с айдишниками ботов for($n = 1; $n <= 9; $n++) { for($i = 1; $i <= (int)$bot[$n]; $i++){ $botz = mysql_fetch_array(mysql_query("SELECT `maxhp`,`id` FROM `users` WHERE `id` = '".$bots[$n-1]."' LIMIT 1;")); mysql_query("INSERT INTO `bots` ( `name`,`prototype`,`battle`,`hp`, `for_id`) values ('".$names[$n]." (проекция ".($i).")','".$bots[$n-1]."','','".$botz['maxhp']."', '".$poh['owner']."');"); $botz = mysql_insert_id(); $enemys[] = $botz; } } // array of teams $teams = array(); foreach($enemys as $v) { $teams[$poh['owner']][$v] = array(0,0,time()); $teams[$v][$poh['owner']] = array(0,0,time()); } // запись о битве mysql_query("INSERT INTO `battle` ( `id`,`coment`,`teams`,`timeout`,`type`,`status`,`t1`,`t2`,`to1`,`to2` ) VALUES ( NULL,'','".serialize($teams)."','5','1','0','".$poh['owner']."','".implode(";",$enemys)."','".time()."','".time()."' )"); $id = mysql_insert_id(); // апдейтим бота foreach($enemys as $v) { mysql_query("UPDATE `bots` SET `battle` = ".$id." WHERE `id` = ".$v." AND `for_id`={$poh['owner']} LIMIT 1;"); } // создаем лог //$rr = "<b>".nick3($user['id'])."</b> и <b>".nick3($bot)."</b>"; //mysql_query("INSERT INTO `logs` (`id`,`log`) VALUES('{$id}','Часы показывали <span class=date>".date("Y.m.d H.i")."</span>, когда ".$rr." бросили вызов друг другу. <BR>');"); addlog($id,"Часы показывали <span class=date>".date("Y.m.d H.i")."</span>, когда <b>".nick3($poh['owner'])."</b> вышел на битву с Хаосом... <BR>"); #chown ("backup/logs/battle".$id.".txt" , "www-data" ); #chgrp ("backup/logs/battle".$id.".txt" , "www-data" ); mysql_query("UPDATE users SET `battle` =".$id.",`zayavka`=0 WHERE `id`= ".$poh['owner'].";"); #addchp ('<font color=red>Внимание!</font> Новое пришествие...<BR>\'; top.frames[\'main\'].location=\'fbattle.php\'; var z = \' ','{[]}'.nick7 ($poh['owner']).'{[]}'); mysql_query("UPDATE `hellround_pohod` SET `volna`=`volna`+1 WHERE `id` = ".$poh['id']." LIMIT 1;"); ##echo "USER: ".$poh['owner']." New wave.\n"; //Удалим ботов, если завис /*$zavis_bot = mysql_fetch_array(mysql_query("SELECT `battle` FROM `bots` ORDER by id DESC LIMIT 1;")); $batles = mysql_fetch_array(mysql_query("SELECT * FROM `battle` WHERE `id`='{$zavis_bot['battle']}' LIMIT 1;")); echo $batles['to1']; if($batles['to1'] < time()) echo 'ok'; { mysql_query("DELETE FROM `bots` WHERE `battle` = '{$zavis_bot['battle']}' LIMIT 1 "); }*/ } } // задержка #sleep(2); } } ?>

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)
7.4.00.0090.01114.90
7.3.120.0100.01014.69
7.3.110.0030.01514.80
7.3.100.0110.00714.88
7.3.90.0030.01314.62
7.3.80.0000.01614.93
7.3.70.0100.00715.02
7.3.60.0060.00314.95
7.3.50.0100.00314.55
7.3.40.0030.00714.77
7.3.30.0070.00314.67
7.3.20.0000.01416.77
7.3.10.0120.00316.67
7.3.00.0090.00616.64
7.2.250.0040.01514.66
7.2.240.0040.01815.24
7.2.230.0100.01015.25
7.2.220.0040.01114.80
7.2.210.0070.00314.95
7.2.200.0040.00814.78
7.2.190.0000.01415.06
7.2.180.0060.00914.89
7.2.170.0100.00714.81
7.2.60.0070.00716.66
7.2.00.0030.01419.23
7.1.330.0100.00715.79
7.1.320.0100.00615.58
7.1.310.0090.00615.74
7.1.300.0040.00715.54
7.1.290.0130.00015.64
7.1.280.0060.00615.72
7.1.270.0090.00615.70
7.1.260.0060.00315.65
7.1.200.0000.00815.60
7.1.100.0000.01218.09
7.1.70.0030.00917.14
7.1.60.0130.00719.36
7.1.50.0040.01916.84
7.1.00.0100.07022.31
7.0.200.0000.01016.56
7.0.100.0100.08320.03
7.0.90.0130.08720.17
7.0.80.0170.08020.02
7.0.70.0200.07720.05
7.0.60.0130.04020.10
7.0.50.0170.07020.47
7.0.40.0030.07720.09
7.0.30.0200.07319.94
7.0.20.0130.08720.14
7.0.10.0000.07720.08
7.0.00.0030.09020.14
5.6.250.0170.07720.64
5.6.240.0070.04320.78
5.6.230.0100.08320.71
5.6.220.0100.08320.66
5.6.210.0100.05020.61
5.6.200.0000.04721.11
5.6.190.0000.07320.98
5.6.180.0100.06721.11
5.6.170.0070.07321.06
5.6.160.0030.05721.07
5.6.150.0100.07721.11
5.6.140.0070.08721.08
5.6.130.0030.09321.08
5.6.120.0070.08721.14
5.6.110.0130.08321.08
5.6.100.0070.08721.12
5.6.90.0070.08020.96
5.6.80.0000.09020.46
5.6.70.0070.03720.55
5.6.60.0070.08320.59
5.6.50.0030.07320.54
5.6.40.0000.05020.36
5.6.30.0070.04320.44
5.6.20.0000.09020.57
5.6.10.0070.04720.39
5.6.00.0030.08020.45
5.5.380.0070.04020.40
5.5.370.0070.08320.44
5.5.360.0100.08320.46
5.5.350.0070.09020.39
5.5.340.0100.07320.98
5.5.330.0070.04020.96
5.5.320.0130.08020.95
5.5.310.0030.07720.84
5.5.300.0070.08320.82
5.5.290.0200.04020.93
5.5.280.0130.07720.89
5.5.270.0170.04320.87
5.5.260.0100.07320.96
5.5.250.0100.08320.77
5.5.240.0000.08320.25
5.5.230.0100.04320.32
5.5.220.0100.06720.16
5.5.210.0170.07020.18
5.5.200.0100.07020.29
5.5.190.0100.06320.16
5.5.180.0070.04020.13
5.5.160.0070.07020.29
5.5.150.0030.08020.18
5.5.140.0030.04020.15
5.5.130.0000.08720.27
5.5.120.0070.07020.23
5.5.110.0000.08320.27
5.5.100.0100.07720.14
5.5.90.0030.03720.09
5.5.80.0070.06020.05
5.5.70.0000.08320.13
5.5.60.0200.06320.06
5.5.50.0000.07320.11
5.5.40.0130.07720.16
5.5.30.0030.08020.14
5.5.20.0100.04720.07
5.5.10.0200.07020.18
5.5.00.0170.06320.10

preferences:
34.45 ms | 401 KiB | 5 Q