Время выполнения простенького скрипта



  • Друзья, добрый день, есть простенький скрипт - берет значение каждого элемента из списка 1 и, используя "Удалить по значению" удаляет его из списка 2. Затем записывает обновленный список2 в файл (Записать список в файл)
    Все работало прекрасно со списками 20-200 тыс. имен, пока вчера вечером мне не попались большие файлы, список1 примерно 500 тыс имен, список2 примерно 1500 тыс имен.
    Если я запускал скрипт в обычном режиме - БАС сразу зависал ("не отвечает" в диспетчере задач, хотя загрузка процессора и памяти постоянно менялись), запустил в режиме записи, работает уже больше 8 часов
    Что делать ума не приложу, дождаться или как?



  • @novichok Напиши код удаления по значению в "выполнить код", как например здесь и всё выполнится мгновенно.



  • @fox
    На маленьких проверил, все быстро работает, запустил на больших опять такое. Как думаешь имеет ли смысл подождать?
    alt text



  • @novichok список проверь пишется в него что то или нет



  • @кот Этож останавливать придется )



  • @Novichok Большой цикл вызывает подвисание интерфейса, рано или поздно этот цикл завершится и скрипт выполнит свою работу.
    Просто сам по себе BAS не предназначен для работы с большими файлами. Напишите функцию в "выполнить код" и работа со списком в 500к строк выполнится за секунды.



  • @fox я именно так и сделал
    alt text
    Вот код:
    alt text



  • @Novichok Значит ждите :D.

    А просто два действия Читать файл в список и сразу следом Записать список в файл сколько займут времени с этим файлом в режиме запуска? Просто прочитать в переменную и тут же записать эту переменную в другой файл.



  • @fox 1 секунда ) 1.5 мил имен



  • @fox

    @fox said in Время выполнения простенького скрипта:

    500к строк выполнится за секунды.

    Ура =)
    Удачно(1)
    Сообщения:
    1 - Ok

    Неудач(0)

    Время работы : 05:00:10

    Последнее сообщение : Удачно


Log in to reply