Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix major performance regression in haze removal #18113

Merged
merged 2 commits into from
Dec 31, 2024

Conversation

ralfbrown
Copy link
Collaborator

While most images still worked very quickly, a completely wrong partitioning function resulted in the new non-compatibility quick select occasionally taking extraordinary amounts of time (I had one RPU image take 2.5 hours and killed another after 13 hours). The old compaitibility-mode code wasn't affected by the broken partitioning since it assumed the partition would always be exactly 50/50....

New integration test to verify correct results: darktable-org/darktable-tests#38

Fixes #18081

@ralfbrown ralfbrown added bugfix pull request fixing a bug scope: performance doing everything the same but faster labels Dec 29, 2024
src/iop/hazeremoval.c Outdated Show resolved Hide resolved
@TurboGit TurboGit added this to the 5.0.1 milestone Dec 30, 2024
Copy link
Member

@TurboGit TurboGit left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@TurboGit TurboGit merged commit b08cf60 into darktable-org:master Dec 31, 2024
6 checks passed
TurboGit pushed a commit that referenced this pull request Dec 31, 2024
* fix partitioning in quick_select non-compat mode
@TurboGit
Copy link
Member

Merged in master and 5.0.x branch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bugfix pull request fixing a bug release notes: pending scope: performance doing everything the same but faster
Projects
None yet
Development

Successfully merging this pull request may close these issues.

hazeremoval blocks export (almost?) indefinitely
2 participants