Performance tuning tips
This article gives a summary of helpful techniques that you can use to improve RustRover performance on large-scale projects.
To check whether performance slowdowns are caused by low heap memory, enable the memory indicator:
Navigate to View | Appearance | Status Bar Widgets and select Memory Indicator.
The memory indicator will appear in the bottom right corner:

Select Help | Change Memory Settings from the main menu.
In the dialog that opens, set a higher memory heap value in the Maximum Heap Size field.
Click Save and Restart.

RustRover also warns you if the amount of the free heap memory is less than 5% of the maximum heap size:

Click Configure and enter a new heap size value in the dialog that opens.
On-the-fly code analysis is one of the most performance-consuming processes in RustRover. Here's what you can do to lighten it up.
By default, external linters do not run on the fly. However, if you have configured them to do so, RustRover may experience performance slowdowns. In this case, you will see a notification:

If you see the notification, click Disbale.
Alternatively, navigate to Settings | Rust | External Linters and clear the Run external linter on the fly checkbox:

By default, many RustRover inspections are set to run on the fly. To lighten up the process, you can reduce the list of these inspections: navigate to Settings | Editor | Inspections and browse through the list of inspections, clearing the checkboxes for those you prefer not to run on the fly.

You will always be able to run inspections on demand using the Code | Running Code Cleanup with profile ''{0}'' command and explore the results in a separate tool window without affecting the editor. Also, you can postpone code analysis (and on-the-fly refactoring) until commit by setting up the Before Commit options.
You can configure the highlighting level for the currently opened file: none, syntax, or all problems. Use the inspection widget in the upper-right corner of the editor:

As an alternative to configuring individual checks or files one by one, try Power Save Mode. It disables all inspections and other highly-consuming background tasks for the entire IDE.
To enable Power Save Mode call File | Power Save Mode.

Your project may contain folders with binaries, logs, or build artifacts, which do not affect RustRover code insight. Also, indexing some folders can be too expensive due to their size or location. So it is reasonable to exclude such folders manually: right-click the directory in the project tree and select Mark Directory as | Excluded.

Since the symbols from the excluded files remain uncompleted for RustRover, the following features are not available for such files: code completion and auto-import, code generation, Find in Files (except for the scope of the currently opened files), navigation, and refactorings.
tip
If you are working in remote development mode, the directories you mark as excluded will not be synchronized with the remote machine.
Another way to eliminate files like logs or generated data from indexing is to exclude them by file type in Settings | Editor | File Types:

To increase the IDE performance, try disabling the plugins you don't need. You will always be able to turn them on again later.
Go to Settings | Plugins.
Browse the Installed tab and disable the unnecessary plugins:
You can also disable all manually installed plugins at once (the non-bundled ones) from the menu under
:
If you experience an IDE freeze or high CPU/memory usage, and the tips listed above do not help, please provide us with the IDE logs, thread dumps, and snapshots. For more information about retrieving and sending them, refer to this instruction.
Thanks for your feedback!