Skip to content

Bad performance after the threading model change

Hi EveryOne,

At the first commit of v0.93 (after the release of v0.92), there is a "Merge the 3 threading models into a single one". 753eef83

Has anybody made before/after performance tests at this change?

Because the memory usage seems to be ~50% more (850 Mb vs. 1250 Mb at 4K/10-bit content) and sometimes the CPU load is also higher with ~10% (55% vs 60% at 4K/8-bit content), comparing the libdav1d 0.92 final and the 0.93 first commit with the new threading model.

I use libdav1d and FFmpeg 4.4.1 static x64 builds with my video player application, on Windows 10, with a Core i7 CPU, probably AVX2 compatible.

The programatic difference can be that the FFmpeg lib uses unique thread number calculation/configuration at the older libdav1d (in libavcodec/libdav1d.c), which seems to be better than the new libdav1d internal code.

Edited by xav1vfw
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information