-
Notifications
You must be signed in to change notification settings - Fork 124
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
"Qualifying round" optimization #523
Comments
It's possible this could be implemented as a variant on the fast-evaluation option, where evaluation would be used to select not only reductions but also, subsequently, filter strategies. In my app, Brute is best more often than Bigrams (it's second to None 🤣), so I'd want to have it, Bigrams and None tested with all possible reduction variants, and then have the other 7 each evaluated with whichever reduction(s) had scored best or near-best among the big 3. |
I'll just note that #509 was recently merged which greatly reduces the losses from fast-evaluation. If you're wanting more speed, I'd definitely recommend using it. |
Just to comment further here, this is something I'd like to pursue for a future release (though no promises as to when I'll get to it). The idea would basically be to combine reduction and filter evaluations into one, with |
#640 (comment) §2 seems to be a similar idea. |
It would probably improve performance with very little risk of suboptimal compression, if we had the option to discard filtering strategies whose result was e.g. more than 10% and 8KiB larger than the smallest when processed with fast compression, but then use more thorough compression to make the most of a clear winner (sort of like what the
Brute
strategy does, but applied to the whole image) or choose among those that were within the margin of error. This is especially true when processing a lot of images in parallel, since narrowing down the options would free up threads for subsequent images. The fast compression could also be used to prioritize the most promising filter strategies when under deadline pressure in sequential mode.The text was updated successfully, but these errors were encountered: