PythonWin7 icon indicating copy to clipboard operation
PythonWin7 copied to clipboard

Why is yt-dlp built on Python 3.14.0 slower than 3.13.9? Why more bytes read?

Open barkoder opened this issue 2 months ago • 7 comments

I built yt-dlp --onedir , using both 3.13.9 and 3.14.0 in separate venvs using identical options.

The py3.14.0 yt-dlp.exe consistently performs worse than the py 3.13.9 yt-dlp.exe

$ for i in $(seq 1 10) ; \
do echo -n PY314_ONEDIR- ; \
time C:/yt-dlp314/yt-dlp314.exe --no-config -v 2>&1 | grep real ; \
echo -n PY313_ONEDIR- ; \
time C:/yt-dlp313/yt-dlp313.exe --no-config -v 2>&1 | grep real ; \
echo '----'  ; \
done

PY314_ONEDIR-real       0m 2.28s
PY313_ONEDIR-real       0m 2.06s
----
PY314_ONEDIR-real       0m 2.13s
PY313_ONEDIR-real       0m 2.05s
----
PY314_ONEDIR-real       0m 2.13s
PY313_ONEDIR-real       0m 2.06s
----
PY314_ONEDIR-real       0m 2.13s
PY313_ONEDIR-real       0m 2.06s
----
PY314_ONEDIR-real       0m 2.12s
PY313_ONEDIR-real       0m 2.05s
----
PY314_ONEDIR-real       0m 2.14s
PY313_ONEDIR-real       0m 2.06s
----
PY314_ONEDIR-real       0m 2.12s
PY313_ONEDIR-real       0m 2.06s
----
PY314_ONEDIR-real       0m 2.13s
PY313_ONEDIR-real       0m 2.07s
----
PY314_ONEDIR-real       0m 2.12s
PY313_ONEDIR-real       0m 2.06s
----
PY314_ONEDIR-real       0m 2.12s
PY313_ONEDIR-real       0m 2.07s
----

So I fired up File Activity Watch and logged what was being read. I've attached the logs. - yt-dlp314_vs._313-FILE_ACTIVITY-report.html.zip

yt-dlp313.exe(just the process) only registers ~22MiB of read, despite having more files overall.

yt-dlp314.exe(just the process) registers almost ~80MiB of read. Why?

I don't mind attaching my binaries, if required.

Thanks for any insight.

barkoder avatar Nov 09 '25 03:11 barkoder