Время выполнения чрезвычайно медленное, принимая строковый ввод из файла по сравнению с той же отдельной входной строкой? - PullRequest
0 голосов
/ 30 апреля 2019

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

Тем не менее, при получении того же самого ввода из файла из нескольких строк ввода моя программа замедляется, и я не уверен, связано ли это с тем, как я вызываю файл ввода, или моя программа работает медленно. , Чтобы уточнить: В первом из них я вручную вводю строковый ввод, в то время как b.txt содержит файл строковых входов. Требовалось много времени, чтобы найти определенную строку в файле, но когда я тестировал эту строку по отдельности, она была решена за считанные секунды. В чем может быть недоразумение?

for line in sys.argv[1].split("\n"):
    if len(line) < 9:
        continue

    start = time.time()
    board = [SOME CODE HERE]
    sboard = backtrack(board)
    end = time.time()
    total = end - start

    print(total)

по сравнению со значением ниже, которое принимает строки ввода из этого сегмента кода, где

s = open("b.txt", "r")
sl = s.read()

t=0
for line in sl.split("\n"):
    t+=1
    if len(line) < 9:
        continue
    board = [SOME CODE HERE]

    start = time.time()
    sboard = backtrack(board)
    end = time.time()
    total = end - start
    print(str(t)+": "+str(total))
...