Beep6581 / RawTherapee

A powerful cross-platform raw photo processing program
https://rawtherapee.com
GNU General Public License v3.0
2.79k stars 316 forks source link

Speedup for wavelets/final touchup/local contrast #6137

Open heckflosse opened 3 years ago

heckflosse commented 3 years ago

There is a nice speedup possible for wavelets/final touchup/local contrast.

I will use http://rawtherapee.com/shared/test_images/clematis_vitalba.nef for my tests using the settings of this screenshot grafik

I will make a draft to discuss changes and compare processing times.

heckflosse commented 3 years ago

I added some stopwatches for initial measure of processing times. Tomorrow I will add optimized code.

heckflosse commented 3 years ago

On my machine, with current code, processing times are

Evaluate2 took 189 ms
level loops took 1453 ms
final touchup took 2117 ms

where final touchup includes Evaluate2 and level loops

heckflosse commented 3 years ago

Using optimized code https://github.com/Beep6581/RawTherapee/pull/6138/commits/10e0ab4eaaa784ec86437aae00d88d030d4ecea9:

evaluate took 191 ms
level loops took 257 ms
Final touchup took 923 ms
heckflosse commented 3 years ago

Imho the optimized code readability is not worse than the original code readability, maybe even better because of the intp...

Desmis commented 3 years ago

:)

jacques