3v4l.org

run code in 300+ PHP versions simultaneously
<?php $path="D:/www/demand_protocol"; $log_file=$path."/demand_protocol_".date('d-m-Y').".log"; $OUTdir=$path."/OUTfiles/"; /** Error reporting */ error_reporting(E_ALL); ini_set("memory_limit","512M"); /** Запуск */ echo date('H:i:s') . " Start" . "\n"; echo date('H:i:s') . " Memory usage: " . (memory_get_usage(true) / 1024 / 1024) . " MB" . "\n"; $date_start = date('H:i:s'); //require_once ("xls_RSV_delay.php"); //require_once ("func.php"); require_once ("config.php"); // Функция записи в файл function LogLog($log,$putch_file,$end_st) { $log=$log.$end_st; $fp = fopen($putch_file, "a"); // Открываем файл в режиме записи $test = fwrite($fp, $log); // Запись в файл fclose($fp); //Закрытие файла } function COMMA_replace($str) { return str_replace(".",",",$str); } // Разница дней function days_diff($date1,$date2) { //$date1 = expYMD($date1); //$date2 = expYMD($date2); $number_days = floor((strtotime($date2) - strtotime($date1)) / (60 * 60 * 24)); return $number_days; } /** Вычисляем рабочий день */ // Держим подключение к БД, на вход 2 переменные: // дата от которой считается и сколько прибавлять к дате рабочих дней, // входная дата не считается // не забываем закрывать соединение! $connect = odbc_connect('ASV','',''); function Holidays($date, $days_to_add) { global $connect; $holidays = 1; // Пока не найдем $days_to_add дней while ($holidays <= $days_to_add) { // Прибавляем день $date = date('Y-m-d', strtotime($date . ' + 1 day')); $sqlquery = "SELECT CASE TimeStamp WHEN 0 THEN 0 ELSE 1 END as Result FROM ASV_Entities_Dictionaries.ProductionCalendar WHERE TO_CHAR(StartDate, 'YYYY-MM-DD') = '$date'"; $DATA = odbc_exec($connect, $sqlquery); if ($rowRes=odbc_fetch_array($DATA)) { //echo "ВЫХОДНОЙ " . $date . "\n"; } else { //echo "НЕ ВЫХОДНОЙ " . $date . "\n"; $holidays++; } } return $date; } // PHPExcel //require_once $path.'/excel/Classes/PHPExcel.php'; // PHPExcel_IOFactory //require_once $path.'/excel/Classes/PHPExcel/IOFactory.php'; // Получаем параметры из bat $TerDep=trim($argv[1]);//ALL 83001...83026 LogLog(date('H:i:s')." - Session start",$log_file,"\n"); //$TerDep = '83001'; $address=$adressmass[$TerDep]; // Функция проверка городского отдела function Sum_for_City_or_Town($TerDep) { $array_city_dep = array('83002', '83010', '83024', '83025', '83026', '83028'); if (in_array($TerDep,$array_city_dep)) { return 25000; } else { return 5000; } } function CheckFile($filename) { global $OUTdir; global $TerDep; if (!file_exists($filename)) { switch ($filename) { case "$OUTdir$TerDep" . "_protocol_isk.csv": $header = "Район;Регномер плательщика;Плательщик;Категория плательщика;Дата снятия с учета в ПФР;Код снятия с учета;Номер требования;Срок уплаты требования;Итоговая сумма по требованию;Дата минимального требования;Сумма всех требований;Контрольная дата;Разница дней;Условие попадания в протокол;Сумма анализируемых требований превысила 500р.";break; case "$OUTdir$TerDep" . "_protocol_reshenie.csv": $header = "Район;Регномер плательщика;Плательщик;Категория плательщика;Дата снятия с учета в ПФР;Код снятия с учета;Номер требования;Срок уплаты требования;Итоговая сумма по требованию;Дата минимального требования;Сумма всех требований;Контрольная дата;Разница дней;Условие попадания в протокол;Сумма анализируемых требований превысила 1500р.";break; case "$OUTdir$TerDep" . "_protocol_postanov.csv": $header = "Район;Регномер плательщика;Плательщик;Категория плательщика;Дата снятия с учета в ПФР;Код снятия с учета;Номер требования;Срок уплаты требования;Итоговая сумма по требованию;Дата минимального требования;Сумма всех требований;Контрольная дата;Разница дней;Необходим запрос в налоговую;Условие попадания в протокол;Сумма анализируемых требований превысила 1500р.";break; case "$OUTdir$TerDep" . "_protocol_bank.csv": $header = "Район;Регномер плательщика;Плательщик;Категория плательщика;Дата снятия с учета в ПФР;Код снятия с учета;Номер требования;Срок уплаты требования;Итоговая сумма по требованию;Дата минимального требования;Сумма всех требований;Контрольная дата;Разница дней;Условие попадания в протокол;Сумма анализируемых требований превысила 1500р.";break; case "$OUTdir$TerDep" . "_protocol.csv": $header = "Район;Регномер плательщика;Плательщик;Категория плательщика;Дата снятия с учета в ПФР;Код снятия с учета;Номер требования;Итоговая сумма по требованию;Дата вступления в силу;Контрольная дата;Разница дней;";break; default: $header = ''; } LogLog($header,$filename,"\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)
7.4.10.0060.01315.38
7.4.00.0110.00414.84
7.3.130.0070.00714.84
7.3.120.0110.00715.02
7.3.110.0060.01214.86
7.3.100.0000.01714.87
7.3.90.0070.01015.00
7.3.80.0060.00914.91
7.3.70.0090.00314.82
7.3.60.0060.00814.71
7.3.50.0030.01014.75
7.3.40.0080.00414.68
7.3.30.0100.00314.67
7.3.20.0060.00916.72
7.3.10.0000.01016.71
7.3.00.0000.01216.38
7.2.260.0060.01015.24
7.2.250.0000.01415.09
7.2.240.0040.01515.42
7.2.230.0090.00615.15
7.2.220.0080.00815.15
7.2.210.0000.01015.32
7.2.200.0000.01215.25
7.2.190.0070.00715.28
7.2.180.0070.00715.07
7.2.170.0090.00615.15
7.2.160.0000.01315.30
7.2.150.0090.00016.80
7.2.140.0070.00717.07
7.2.130.0070.01017.02
7.2.120.0090.00617.13
7.2.110.0070.00317.09
7.2.100.0060.00316.84
7.2.90.0070.00717.09
7.2.80.0070.00717.05
7.2.70.0040.00817.15
7.2.60.0050.01317.07
7.2.50.0030.01416.92
7.2.40.0060.00616.94
7.2.30.0060.00617.03
7.2.20.0000.01016.95
7.2.10.0070.00716.78
7.2.00.0060.00818.08
7.1.330.0120.00315.59
7.1.320.0080.00815.93
7.1.310.0030.01016.08
7.1.300.0080.00415.54
7.1.290.0030.01015.62
7.1.280.0000.00915.86
7.1.270.0070.00715.89
7.1.260.0040.00415.75
7.1.250.0030.01215.96
7.1.240.0110.00415.88
7.1.230.0070.00315.65
7.1.220.0030.01215.68
7.1.210.0060.01015.94
7.1.200.0070.00715.65
7.1.190.0000.01115.53
7.1.180.0090.00915.82
7.1.170.0120.00315.80
7.1.160.0060.00315.76
7.1.150.0000.01015.80
7.1.140.0030.01415.98
7.1.130.0000.01015.76
7.1.120.0060.00615.89
7.1.110.0000.01015.61
7.1.100.0060.00615.78
7.1.90.0040.00715.88
7.1.80.0060.00915.77
7.1.70.0020.01216.66
7.1.60.0090.00817.55
7.1.50.0030.00816.29
7.1.40.0070.00715.57
7.1.30.0030.00615.65
7.1.20.0060.00315.96
7.1.10.0100.00315.72
7.1.00.0030.02619.14
7.0.330.0030.00615.48
7.0.320.0070.00715.49
7.0.310.0000.01515.39
7.0.300.0090.00315.45
7.0.290.0040.00815.46
7.0.280.0060.00615.32
7.0.270.0060.00315.32
7.0.260.0030.01015.31
7.0.250.0030.00615.39
7.0.240.0030.00915.18
7.0.230.0090.00315.27
7.0.220.0030.00715.36
7.0.210.0100.00315.62
7.0.200.0120.00315.23
7.0.190.0030.00815.58
7.0.180.0090.00315.47
7.0.170.0070.00715.25
7.0.160.0060.00315.57
7.0.150.0060.01015.66
7.0.140.0030.04318.72
7.0.130.0000.01115.36
7.0.120.0070.00615.69
7.0.110.0030.00715.64
7.0.100.0070.01015.30
7.0.90.0030.00715.50
7.0.80.0090.03117.79
7.0.70.0100.04617.65
7.0.60.0170.03817.82
7.0.50.0070.05017.81
7.0.40.0080.04416.88
7.0.30.0070.04216.78
7.0.20.0100.03016.86
7.0.10.0080.02216.92
7.0.00.0100.04216.77
5.6.400.0070.00714.11
5.6.390.0130.00014.46
5.6.380.0070.01014.54
5.6.370.0040.00414.45
5.6.360.0120.00014.49
5.6.350.0060.00914.31
5.6.340.0070.00714.45
5.6.330.0000.01114.32
5.6.320.0030.00614.23
5.6.310.0070.00714.46
5.6.300.0140.00314.33
5.6.290.0080.00414.51
5.6.280.0100.03517.82
5.6.270.0060.00614.34
5.6.260.0030.00714.32
5.6.250.0060.00914.14
5.6.240.0070.00714.40
5.6.230.0060.02917.63
5.6.220.0050.04517.50
5.6.210.0100.04417.50
5.6.200.0050.03217.64
5.6.190.0150.04317.77
5.6.180.0060.03817.75
5.6.170.0100.04517.62
5.6.160.0100.04317.73
5.6.150.0050.03817.87
5.6.140.0030.03017.72
5.6.130.0060.03117.72
5.6.120.0110.04517.59
5.6.110.0030.04317.75
5.6.100.0160.03017.62
5.6.90.0030.05017.68
5.6.80.0110.04117.47
5.6.70.0080.04217.38
5.6.60.0100.03717.29
5.6.50.0050.03517.22
5.6.40.0050.04717.41
5.6.30.0080.04517.43
5.6.20.0050.02917.46
5.6.10.0080.04217.46
5.6.00.0080.03117.41
5.5.380.0090.00014.47
5.5.370.0030.03617.33
5.5.360.0090.04317.49
5.5.350.0030.04317.48
5.5.340.0020.05017.54
5.5.330.0040.04117.55
5.5.320.0060.04917.66
5.5.310.0040.03217.71
5.5.300.0060.03317.49
5.5.290.0110.04217.66
5.5.280.0080.04217.62
5.5.270.0050.04517.77
5.5.260.0200.03817.43
5.5.250.0120.04117.36
5.5.240.0020.03017.19
5.5.230.0040.03117.31
5.5.220.0130.03617.12
5.5.210.0050.03017.31
5.5.200.0080.04117.28
5.5.190.0090.03717.25
5.5.180.0070.04517.23
5.5.170.0030.01014.38
5.5.160.0110.03417.27
5.5.150.0050.04617.21
5.5.140.0130.03117.19
5.5.130.0050.03117.17
5.5.120.0080.03117.16
5.5.110.0030.04317.28
5.5.100.0120.03817.19
5.5.90.0180.03817.06
5.5.80.0020.04717.14
5.5.70.0050.03217.15
5.5.60.0100.03917.22
5.5.50.0050.04417.04
5.5.40.0050.03017.13
5.5.30.0070.02717.18
5.5.20.0090.02717.22
5.5.10.0030.04417.28
5.5.00.0030.04717.01
5.4.450.0070.02215.47
5.4.440.0060.04015.28
5.4.430.0090.04215.35
5.4.420.0130.02815.45
5.4.410.0080.03215.31
5.4.400.0020.04515.24
5.4.390.0070.03715.21
5.4.380.0080.04315.16
5.4.370.0020.03815.29
5.4.360.0080.02815.16
5.4.350.0020.03715.13
5.4.340.0030.04115.30
5.4.330.0040.00411.37
5.4.320.0050.02515.23
5.4.310.0120.03815.23
5.4.300.0070.04315.21
5.4.290.0070.02415.13
5.4.280.0000.04315.25
5.4.270.0070.03815.23
5.4.260.0030.04615.26
5.4.250.0070.03815.11
5.4.240.0110.03815.21
5.4.230.0050.02515.25
5.4.220.0070.02715.11
5.4.210.0070.02715.24
5.4.200.0050.04315.12
5.4.190.0030.04115.16
5.4.180.0070.04015.26
5.4.170.0070.03815.20
5.4.160.0030.03015.28
5.4.150.0070.04115.28
5.4.140.0050.03513.93
5.4.130.0050.03913.88
5.4.120.0080.01713.88
5.4.110.0090.03213.96
5.4.100.0040.03913.88
5.4.90.0030.03013.98
5.4.80.0070.02713.95
5.4.70.0080.03513.95
5.4.60.0090.02813.92
5.4.50.0130.01513.86
5.4.40.0000.02513.92
5.4.30.0080.01813.88
5.4.20.0050.02213.90
5.4.10.0030.02313.90
5.4.00.0050.02213.53
5.3.290.0080.02713.03
5.3.280.0050.02113.07
5.3.270.0020.03212.97
5.3.260.0050.04412.96
5.3.250.0100.04013.03
5.3.240.0110.03313.01
5.3.230.0050.02312.99
5.3.220.0080.02513.04
5.3.210.0070.03513.04
5.3.200.0120.03613.02
5.3.190.0050.03713.00
5.3.180.0000.03412.97
5.3.170.0100.02513.03
5.3.160.0110.01313.04
5.3.150.0020.02412.98
5.3.140.0030.02113.01
5.3.130.0050.02312.98
5.3.120.0030.02513.00
5.3.110.0080.02213.00
5.3.100.0030.02212.73
5.3.90.0050.01512.67
5.3.80.0090.01912.74
5.3.70.0040.02112.77
5.3.60.0000.02612.64
5.3.50.0020.02512.69
5.3.40.0030.02112.70
5.3.30.0050.03012.67
5.3.20.0050.02012.51
5.3.10.0020.02312.52
5.3.00.0040.02012.47
5.2.170.0030.02311.21
5.2.160.0000.03011.07
5.2.150.0070.02711.24
5.2.140.0000.03311.07
5.2.130.0030.02711.05
5.2.120.0030.02711.17
5.2.110.0030.02311.05
5.2.100.0000.03011.23
5.2.90.0000.02711.28
5.2.80.0030.03311.02
5.2.70.0030.03011.00
5.2.60.0000.03011.16
5.2.50.0000.03010.97
5.2.40.0070.02311.06
5.2.30.0000.03010.95
5.2.20.0000.03011.01
5.2.10.0000.03011.02
5.2.00.0030.02710.88
5.1.60.0070.02310.15
5.1.50.0030.02310.03
5.1.40.0030.0239.86
5.1.30.0030.02710.50
5.1.20.0030.02310.32
5.1.10.0030.03310.11
5.1.00.0070.02710.15
5.0.50.0000.0238.45
5.0.40.0030.0178.56
5.0.30.0000.0308.36
5.0.20.0030.0178.25
5.0.10.0000.0208.30
5.0.00.0000.0278.21
4.4.90.0030.0107.39
4.4.80.0000.0137.39
4.4.70.0000.0137.39
4.4.60.0000.0177.39
4.4.50.0030.0137.39
4.4.40.0030.0237.39
4.4.30.0030.0137.39
4.4.20.0000.0207.39
4.4.10.0000.0207.39
4.4.00.0000.0237.39
4.3.110.0000.0137.39
4.3.100.0030.0177.39
4.3.90.0000.0207.39
4.3.80.0000.0237.39
4.3.70.0030.0137.39
4.3.60.0000.0237.39
4.3.50.0000.0177.39
4.3.40.0000.0237.39
4.3.30.0030.0137.39
4.3.20.0030.0107.39
4.3.10.0000.0177.39
4.3.00.0000.0207.39

preferences:
41.3 ms | 401 KiB | 5 Q