The incremental install is currently implemented by listing what is installed, and comparing it to what is requested to be installed. This generates a list of things to install or remove. The performance penalty for the query, comparison and then upgrade is fairly significant. It would be a nice enhancement to Smart to enable a mode that lets the user simply select a new target set of packages to be installed. Then any packages not in that set (once dependencies are evaluated) would be removed, and any additional packages added.
Should we still keep this open given that we've switched from Smart to DNF? The same issues may well apply with DNF, of course.
I think it's worth changing this to DNF and at least investigating the performance issues. If current performance is deemed sufficient then we can close it. (I've not used the incremental install since DNF was introduced, so we might find that it's no longer working as well..)
Reopen if needed by a specific performance problem is seen.