Печать на Python быстрее в Windows 10 - PullRequest
0 голосов
/ 06 декабря 2018

Я работаю над программой, которая должна очень быстро печатать на консоль.

Сейчас я просто печатаю вот так

print("X", end="")

Однако, похоже, что командная строка Windows очень медленная.Есть ли способ ускорить это?Или вы могли бы порекомендовать другую командную строку, которая поддерживает ANSI, разные размеры шрифтов и может печатать так быстро, как мне нужно (~ 4056 строк до 317 символов в строке в секунду)?

Спасибо.

1 Ответ

0 голосов
/ 07 декабря 2018

Давайте сравним две различные концепции печати (символы и строки, см. Пояснение, выделенное жирным шрифтом ниже), как указано в следующем сценарии .bat:

@ECHO OFF
SETLOCAL EnableExtensions
if "%~1"=="" (
    set "_flush= "
) else (
    set "_flush=, flush=True"
)
set "_line=317"
:loop
if not "%time:~-2%"=="00" goto :loop
set "_t0=%time%"
python -c "for num in range(0,4096*%_line%): print('X', end=''%_flush%);"
set "_t1=%time%"
python -c "for num in range(0,4096): print('X'*%_line%, end=''%_flush%);"
set "_t2=%time%"
cls
echo %~f0 %* 
set _

Результат показывает, что

  • печать символов один за другим занимает приблизительно 7 секунд (_t1 - _t0)
  • печать те же данные в последовательности предварительно подготовленных строк занимают приблизительно полсекунды(_t2 - _t1):
D:\bat\SO\53659583.bat
_flush=
_line=317
_t0=23:55:03,00
_t1=23:55:09,96
_t2=23:55:10,47
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...