@werastet

Как ускорить работу скрипта в python?

with open('2.txt', 'r') as file1:
    with open('1.txt', 'r') as file2:
        same = set(file1).intersection(file2)

same.discard('\n')

with open('some_output_file.txt', 'w') as file_out:
    for line in same:
        file_out.write(line)
  • Вопрос задан
  • 177 просмотров
Пригласить эксперта
Ответы на вопрос 1
@deliro
Зачем здесь вообще питон?

comm -12 <(sort --parallel=4 1.txt) <(sort --parallel=4 2.txt) > some_output_file.txt


Где 4 - количество ядер / 2 (две сортировки идут одновременно), parallel не может быть больше 8 и является опциональным.

sort умеет не вылезать за пределы ОЗУ (но если нужно жёстко ограничить, то -S 100M например). Если нужно, засовываешь это в питоне через subprocess

Подробнее здесь https://en.m.wikipedia.org/wiki/External_sorting
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы