性能分析; ippvmGetLibVersion:我没有打电话给它

时间:2016-11-14 10:53:07

标签: c++ intel-ipp

我使用Very Sleepy CS进行分析,如果重要的话。

IPP(英特尔的集成性能基元)在我的项目中使用,基本上只用于一次通话:

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

在分析之后,我注意到一个奇怪的函数调用来自调用前面提到过的函数。 ippvmGetLibVersion 是它的名字,它几乎占执行时间的1/3。我的消息来源中没有提到它。在主程序的开头调用 ippInit

发生了什么,如何摆脱它?浪费具有相同回报的常量调用的执行时间似乎很愚蠢。

2 个答案:

答案 0 :(得分:1)

你能查看谁调用了ippvmGetLibVersion吗? VS CS提供这种能力? 如果没有,您可以在ippvmGetLibVersion地址设置断点并显示调用堆栈。

P.S。我将检查此函数是否与ippsExp_64fc_A26有任何共同之处。

此致,谢尔盖。

答案 1 :(得分:0)

确实是一个错误。 Visual Studio的分析器没有显示上述功能的迹象。