Давайте сравним две различные концепции печати (символы и строки, см. Пояснение, выделенное жирным шрифтом ниже), как указано в следующем сценарии .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