This does not use the model/view framework directly, it uses a QListWidget which in turn was a conversion from the old Qt 3 QListView. So it's item-based which is the reason why performance breaks down at insanely large lists. It was never meant for lists of 50,000+ items. And frankly, I have doubts how usable a list that huge is even if it responds really quickly. You have to scroll a lot to get to the item you really want. Basically, this feeds those who always said that this "view all" filter should not be there to begin with. I defended that for so long, but maybe it's time to simply stop defending it. For one thing, the list has become unreasonably large; back when I wrote that piece of code, we had something in the order of 1000 or maybe 2000 packages in total. But with the package split frenzy now we have so many packages that I wonder more and more how useful that is at all - both the number of packages to deal with and displaying them all at once in a single list. Maybe we should simply drop that "all packages" filter.