Less than optimal CPU usage (darktable thread)

Inspired by the other thread about RawTherapee Less than optimal CPU usage

I understand that darktable has the same limitation. Would it be an easy task to add a new feature in the settings that would assing how many threads each exported picture would use when exporting multiple files? I have a Threadripper x1950 with 32 threads. If I could export 4 raw files at the same time letting 8 threads work with each file I think it would save time.

I have an old (and tired) computer. I can export 4 RAW files to JPG in less than 10 seconds. Our subject should be serious photography where we carefully coax the very best out of each and every digital image. Even without OpenCl engaged the developers have created an extraordinarily streamlined process. Let us all be reasonable in our demands.

What about 16 bit tiff with compression level 4?
Exporting 4 jpeg take 4 seconds for me. Not the problem.
bild

  • Darktable uses the GPU as well, so even if the CPU’s not saturated, the GPU could be.
  • Running multiple exports needs more RAM (both for the CPU and the GPU - not sure how well OpenCL supports processing multiple images at once, actually).
  • Darktable uses some libraries for some of the work (loading and saving images, for example). Another case where those may or may not be thread-safe (I don’t develop in C and C++, so I’m not familiar with them).
2 Likes

The issue here is probably the compression of tif files.
Compression level 4 vs 0 and OpenCL turned off.

I assume it is the same as for libpng How I sped up the PNG export in darktable using perf - LIEBERBIBER