我已经在两台不同的计算机上用python测试了相同的代码。在第一个中,代码长9s,而在第二个中(具有16MRAM x 8MRAM的功能更强大的机器)的代码长185s。在cProfile中进行分析时,两种情况中最关键的过程是等待单个对象。分析特定功能,我可以看到关键部分是带有tesserecat的OCR。为什么在这两台机器上有如此不同的性能?
cProfile中此特定功能的主要内容是:
ncalls tottime percall cumtime percall filename:lineno(function)
1 0.002 0.002 115.398 115.398 bpl-Redonda4.py:261(pega_stack_nome_jogadores)
18 0.000 0.000 0.001 0.000 pytesseract.py:106(准备)
18 0.000 0.000 0.118 0.007 pytesseract.py:116(save_image)
18 0.000 0.000 0.000 0.000 pytesseract.py:140(subprocess_args)
18 0.000 0.000 115.186 6.399 pytesseract.py:162(run_tesseract)
18 0.001 0.000 115.373 6.410 pytesseract.py:199(run_and_get_output)
12 0.000 0.000 76.954 6.413 pytesseract.py:295(image_to_string)
12 0.000 0.000 76.954 6.413 pytesseract.py:308()
6 0.000 0.000 38.419 6.403 pytesseract.py:328(image_to_boxes)
6 0.000 0.000 38.419 6.403 pytesseract.py:345()
18 0.000 0.000 0.060 0.003 pytesseract.py:97(清理)
18 0.000 0.000 115.096 6.394子进程.py:979(等待)
18 115.096 6.394 115.096 6.394 {内置method_winapi.WaitForSingleObject}