Здравствуйте!
У меня есть php скрипт, который сравнивает два текстовых файла со списом цифровых значенией и те, которые не встретились во втором файле записывает в итоговый файл.
PHP 5.5.14 установлен на OS X 10.10.2 (macbook air, Core i5), запускаю "php ./script.php" просто из консоли.
В каждом файле примерно по 150 тысяч строк-записей. Исполняется долго, час-два.
Мне почему то казалось, что такие простые вещи как сравнение массивов должны делаться влет.
Скажите, пожалуйста, можно ли тут что-то оптимизировать?
Код:
// чтение, второй файл так же
$handle = fopen($dir . $minus, 'r');
while (($res = fgets($handle)) != FALSE) {
if ($res != 0) {
$array_minus[] = trim($res);
} else {
break;
}
}
fclose($handle);
// сравнение
foreach ($array_source as $value) {
if (!in_array($value, $array_minus)) {
$array_result[] = $value;
$result_string.='
' . $value;
}
}
file_put_contents($dir . "result.txt", $result_string);