Windows10 Очистка памяти между запусками одной и той же программы - PullRequest
0 голосов
/ 12 апреля 2020

У меня есть следующая программа:

import os, time
from xml.etree import ElementTree as ET

start = time.time()

rootdir = "/mnt/e/ECGFVG/EXPORT/ALT"

lista_demo = ['PatientID','PatientAge','Gender']
lista_test = ['AcquisitionDate','AcquisitionTime','Site']

fd = open('output','w')
header = 'item,'+','.join(lista_demo+lista_test)+'\n'
fd.write(header)

for cnt,filename in enumerate(os.listdir(rootdir)):
        if cnt > 10000:
                print(time.time()-start)
                fd.close()
                exit()
        try:
                row = []
                row.append(str(cnt+100000))
                file = os.path.join(rootdir,filename)
                tree = ET.parse(file)
                root = tree.getroot()
                PatientDemographics = root.find('PatientDemographics')
                TestDemographics = root.find('TestDemographics')
                for key in lista_demo:
                        value = PatientDemographics.find(key)
                        row.append(str(value.text))
                for key in lista_test:
                        value = TestDemographics.find(key)
                        row.append(str(value.text))
                data = ','.join(row)+'\n'
                print('writing data %i' % cnt)
                fd.write(data)
        except Exception as ex:
                print(ex)
                pass
fd.close()

Все работает, но мне нужно отсканировать около 340000 файлов, и для этого требуется много времени. Поэтому я решил проверить, могу ли я улучшить производительность, возможно, обрабатывая большую часть файлов вместо одного за раз. Я обнаружил, что Windows10 отслеживает момент, когда я остановил предыдущий запуск программы, и при следующем запуске программы он обрабатывает файлы, которые уже видели. Я не хочу этого, я бы хотел, чтобы каждый пробег начинался с одного и того же условия.

Например, я перезагружаю машину и запускаю программу в первый раз. Допустим, для обработки первых 10000 файлов требуется 2 минуты. Я остановил программу. Я запускаю его снова, и это занимает всего 20 секунд для первых 10000 файлов.

ВОПРОС: Как можно предотвратить Windows 10 для запоминания данных и затем сделать условия каждого запуска идентичными?

...