﻿# Первое впечатление от использования Intel Parallel Inspector

Экспериментировал с Intel Parallel Inspector в режиме диагностики ошибок работы с памятью\. Могу сказать, что продукт и то, что он делает, мне крайне понравилось\. Особенно понравилась прекрасно выполненная интеграция в Visual Studio и полноценная поддержка 64\-битных проектов, что оценят пользователи Bounds Checker\.

В основном я экспериментировал с проектом Viva64 и при этом смог обнаружить одну вполне серьезную ошибку\.

Очень понравился графический интерфейс настроек режима запуска Parallel Inspector, просто, понятно:

![0011_The_first_impression_of_Intel_Parallel_Inspector_ru/image1.png](https://import.viva64.com/docx/blog/0011_The_first_impression_of_Intel_Parallel_Inspector_ru/image1.png)

Понравился индикатор, насколько данный вид анализа может замедлить выполнение программы\. Мне так понравился подобный подход, дизайн и наглядность того, что следует ожидать, что я решил проверить точность этого индикатора на проекте Viva64\. Конечно, выборка не репрезентативна, но все равно очень было интересно\. Вот результаты запуска 64\-битной debug\-версии Viva64:

|Режим запуска|Ожидаемое замедление, согласно показаниям на шкале Parallel Inspector|Полученное замедление, при тестировании проекта Viva64|
|---|---|---|
|Без Parallel Inspector|Замедления нет|\\\(1\\\.23 сек\\\) \\\- Замедления нет|
|"Does my target leak memory?"|В 2 \\\- 20 раз|\\\(17\\\.70 сек\\\) \\\- 14\\\.4 раз|
|"Does my target have memory access problems?"|В 10 \\\- 40 раз|\\\(72\\\.57 сек\\\) \\\- 59 раз|
|"Where are the memory access problems?"|В 20 \\\- 80 раз|\\\(70\\\.80 сек\\\) \\\- 57\\\.6 раз|
|"Where are all the memory problems Inspector can find?"|В 40 \\\- 160 раз|\\\(404\\\.82 сек\\\) \\\- 329\\\.1 раз|

Я считаю, что предположение о замедлении сделано достаточно точно, для случая, когда о проекте ничего не известно\. Немного выбивается последний режим, но в анализаторе Viva64, в отличие от среднестатистической программы, очень большой объем операций связан как раз с выделением памяти при построении и анализе синтаксического дерева\. Поэтому замедление больше ожидаемого совершенно естественно\.

Замедления, к которым приводит использование Intel Parallel Inspector меня совершенно не смущают, и я считаю их естественными и даже не большими для инструмента динамического анализа реализующую подобную функциональность\. Следует только понимать, что методологию использования подобных динамических анализаторов разумно строить не в режиме работы с программой в режиме реального времени\. Здесь скорее подходят пакетные запуски или системы автоматизированного тестирования, которые ночью будут старательно нажимать кнопки в тестируемом приложении, не переживая о том, что отклик может занимать минуты или часы\.

Подводя итог\. Очень хороший инструмент\. Рекомендую\.