ReSharper 2019.2 Help

Performance

ReSharper | Options | Code Editing | C++ | Performance

In this page, you can adjust some preferences that affect performance of processing C++ code.

Item

Description

Maximum concurrency of cache tasks

By default, the maximum concurrency of cache tasks is unlimited, that is, ReSharper will use all available CPU cores for building caches in background. You may need to limit this number if you experience performance problems (lags on non-responsive UI), which may be related to background caches consuming too much memory thus triggering GC too often.

Reindex includers after preprocessor directives in an includee changed

By default, ReSharper does not reindex includers of a header file when preprocessor directives inside the header are changed. This helps improve performance, but it might also lead to stale symbols cached for includer files. This checkbox enables reindexing, which makes resolved dependencies more precise at the cost of possible performance degradation.

Read project properties asynchronously in Visual Studio 15.3 and later

For most of its features (including navigation, code analysis, refactorings, and code completion), ReSharper builds and maintains a model of the current solution. The model is cached and then used to instantly access any item in the solution structure.

To build this model, ReSharper can use one of the two available Visual Studio APIs — the older one and the new one, which was introduced in Visual Studio 15.3 and is used by default.

This option lets you revert to the older API if you experience some problems with code analysis.

Index stand-alone headers in CMake and Open Folder solutions

When analyzing CMake and Open Folder solutions, ReSharper ignores headers that are not included anywhere. Such solutions can have lots of unused headers and it makes sense to keep this option disabled to improve performance. However, if the solution structure is clear, and there are only a couple of headers that are going to be used soon, you can enable this option to enjoy ReSharper features in these headers.

ReSharper's settings are saved in settings layers, which enable you to have different settings for different solutions and to share your settings with your team. To learn more, see Managing and Sharing ReSharper Settings.