Very slow Aura editing (and likely LWC as well) in extremely large projects

Issue #1794 resolved
Scott Wells repo owner created an issue

A user reported very slow editing of *.cmp files and provided a CPU profiling snapshot to help diagnose the behavior. Ultimately this seems to come down to slow behavior of FilenameIndex#getAllFilesByExt when called repeatedly to enumerate custom components in the project. This likely affects other functionality that uses the same utility method to enumerate files of a particular type, so I've implemented an in-memory cache to help with performance. I'll attach a build with that cache here so that the reporting user can help to verify whether this change addresses the performance issue without introducing any other issues.

Comments (4)

  1. Scott Wells reporter

    Here's a build with caching. It also includes a few other fixes and enhancements that will be included in 2.1.5.4, but they should all be completely independent of the behavior you're seeing, e.g., SAQL support and a fix for how remote actions are resolved.

    You can install it by downloading the attached archive (don't extract it) and then using Settings/Preferences>Plugins>Install plugin from disk (under the gear drop-down menu). Before restarting the IDE, please add the following to Help>Diagnostic Tools>Debug Log Settings:

    #com.illuminatedcloud.intellij.util.FilesByExtensionCache
    

    Then restart the IDE and try to reproduce the performance issue. Hopefully everything now works quickly for you. Either way, though, please let me know, and also please provide the latest idea.log (Help>Show Log in Explorer/Finder/Files) either here as an attachment or as a response to our existing email thread. Thanks!

  2. Scott Wells reporter

    New build based on 2.1.5.5 with the prospective performance fix. The installation steps are the same. Once installed please let me know whether it addresses the issue or not, and either way please let me know if it introduces any negative behaviors.

  3. Log in to comment