optimize: implement hash-based lookup for itemsForUrl
When loading big projects with lots of files, much time was spent in Project::itemsForUrl (up to a minute in total in one of my tests). Now we use a QHash<uint, ProjectBaseItem*> lookup table, which brings down the total time to a mere fraction of a second. The lookup table is saved in the ProjectModel and is updated on demand from the ProjectBaseItem. Introduces a new ProjectModel::itemsForUrl which will return all files for a url without filtering by project. CCBUG: 215968
parent
4370b576
Please register or sign in to comment