Почему VA быстрее: он написан на C++
ReSharper написан на C#. Для анализа исходного кода C++ он использует слой трансляции, что добавляет накладные расходы на обработку и создает проблемы с кодом, с которым разработчики C++ работают ежедневно: макросы, шаблоны, частичные сборки, устаревшие кодовые базы, которые не компилируются корректно.
Visual Assist написан на C++. Нет этапа трансляции. Парсер обрабатывает ваш исходный код на том же языке, на котором он написан — более быстрая индексация, более высокая точность для кода с большим количеством макросов и минимальное влияние на запуск IDE и использование оперативной памяти. VA также работает, когда ваш код не работает: частичные сборки, неработающий код и состояние в процессе редактирования не отключают функции так, как это может происходить с аналитическим движком ReSharper.
Разница усиливается в масштабе. При тестировании на примере проекта Unreal Engine Lyra VA обнаружил все ссылки на TOptional менее чем за 9 минут.
ReSharper обнаружил треть одинаковых ссылок за 30 минут. Параллельный парсер VA поддерживает отзывчивость IDE во время анализа, в отличие от зависаний и сбоев, о которых сообщают пользователи ReSharper во время обработки индекса.
Visual Assist — это также единственный продукт, который мы производим. ReSharper — это часть большой экосистемы JetBrains. Эта направленность проявляется в том, как быстро VA решает проблемы C++, насколько тесно он интегрируется с Visual Studio и насколько большая часть набора функций действительно актуальна для работы с C++.