Skip to content

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

@barkoder

Description

@barkoder

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions