Skip to content

faster exclusion of large subfolders

Milian Wolff requested to merge work/qvector-projectfiledataprovider into master

When we open a project with a subfolder containing many files and then chose to exclude that subfolder, we will get one fileRemovedFromSet signal emission per contained file. Each one of those will then do a lookup in the vector of project files, which is potentially very slow.

Our IndexedString has no noexcept dtor nor fast move semantics, which makes std::vector slow for any type containing it, including the ProjectFile used by the provider. By explicitly using QVector and its Q_MOVABLE_TYPE annotation we regain a lot of the speed here.

Merge request reports