Время выполнения простенького скрипта
-
Друзья, добрый день, есть простенький скрипт - берет значение каждого элемента из списка 1 и, используя "Удалить по значению" удаляет его из списка 2. Затем записывает обновленный список2 в файл (Записать список в файл)
Все работало прекрасно со списками 20-200 тыс. имен, пока вчера вечером мне не попались большие файлы, список1 примерно 500 тыс имен, список2 примерно 1500 тыс имен.
Если я запускал скрипт в обычном режиме - БАС сразу зависал ("не отвечает" в диспетчере задач, хотя загрузка процессора и памяти постоянно менялись), запустил в режиме записи, работает уже больше 8 часов
Что делать ума не приложу, дождаться или как?
-
@novichok Напиши код удаления по значению в "выполнить код", как например здесь и всё выполнится мгновенно.
-
@fox
На маленьких проверил, все быстро работает, запустил на больших опять такое. Как думаешь имеет ли смысл подождать?
-
@novichok список проверь пишется в него что то или нет
-
@кот Этож останавливать придется )
-
@Novichok Большой цикл вызывает подвисание интерфейса, рано или поздно этот цикл завершится и скрипт выполнит свою работу.
Просто сам по себе BAS не предназначен для работы с большими файлами. Напишите функцию в "выполнить код" и работа со списком в 500к строк выполнится за секунды.
-
@fox я именно так и сделал
Вот код:
-
@Novichok Значит ждите
:D
.А просто два действия Читать файл в список и сразу следом Записать список в файл сколько займут времени с этим файлом в режиме запуска? Просто прочитать в переменную и тут же записать эту переменную в другой файл.
-
@fox 1 секунда ) 1.5 мил имен
-
@fox said in Время выполнения простенького скрипта:
500к строк выполнится за секунды.
Ура =)
Удачно(1)
Сообщения:
1 - OkНеудач(0)
Время работы : 05:00:10
Последнее сообщение : Удачно