2016-11-14 12 views
0

Я использую Very Sleepy CS для профилирования, если это имеет значение.Профилирование; ippvmGetLibVersion: я не называл это

IPP (от Intel Integrated Performance Primitives) используются в моем проекте, в основном за один вызов:

ippsExp_64fc_A26(reinterpret_cast<Ipp64fc*>(delta_vector.data()), reinterpret_cast<Ipp64fc*>(delta_vector_out.data()), delta_vector.size()); 

После профилирования я заметил вызов странной функции, сделанный из функции, которая вызывает ранее упомянутые один. ippvmGetLibVersion - это его имя, и оно занимает почти 1/3 времени исполнения. Об этом не упоминается в моих источниках. ippInit вызывается в начале основной программы.

Что происходит и как я могу избавиться от него? Тратить время выполнения для постоянных вызовов с одинаковой отдачей кажется глупым.

ответ

0

Это действительно ошибка. Профилировщик Visual Studio не показывает признаков указанной функции.

+1

Причиной такого поведения Very Sleepy CS может быть и следующее. Все профилиляторы используют выборку процессора, то есть прерывают приложение через некоторый интервал и пытаются определить, где приложение работало до прерывания. Этот анализ выполняется по информации из стека и глобальных символов. IppsExp_64fc_A26 и другие функции из веб-сайта векторной математики IPP не имеют глобальных имен в адресном пространстве приложения. Таким образом, VS CS не имеет ничего общего с анализом размещения. Он может указывать на ближайший известный глобальный символ (ippvmGetLibVersion в вашем случае). Отсутствие информации о разворачивании стека)). –

1

Не могли бы вы проверить, кто звонит ippvmGetLibVersion? VS CS предоставляет эту возможность? Если нет, вы можете установить точку останова только по адресу ippvmGetLibVersion и отобразить стек вызовов.

P.S. Я проверю, имеет ли эта функция что-то общее с ippsExp_64fc_A26.

С уважением, Сергей.

+0

Нет. Как и ожидалось, ippVMGetLibVersion не вызывается из ippsExp_64fc_A26. Ищите другие возможные вызовы GetLibVersion. –

+0

Спасибо! Я попытаюсь изучить его - возможно, профайлер сам прослушивается или что-то в этом роде, потому что нет других вызовов, кроме ippInit и этого. –

 Смежные вопросы

  • Нет связанных вопросов^_^