-
Notifications
You must be signed in to change notification settings - Fork 350
Open
Labels
Description
Surprisingly, the plugin becomes slower on newer versions of Xcode. Need to re-evaluate performance bottlenecks. Last big performance optimisation was done when Xcode 5 was still around :)
Initial investigation of performance under Xcode 7.1 shows that getting a priority factor has (only now, or had it always?) a synchronized part, and can make parallel processing slower than single thread when many items pass the filtering.
Also, it takes surprisingly long (even given it does synchronize) and the priorities do not change when narrowing down.
- use single thread for getting priority factors
- cache priority factors for narrowing down
- make filtering before populating the cache also parallel
- investigate how Xcode filtering and scoring changed
- identify other bottlenecks