Intel® Integrated Performance Primitives
Community support and discussions relating to developing high-performance vision, signal, security, and storage applications.
Announcements
This community is designed for sharing of public information. Please do not share Intel or third-party confidential information here.

IPP vs SPL low performance

shdow
Beginner
123 Views

Hi,I wrote a simple application which compares performance of SPL and IPP libraries.I'm using function which searches maximum value in vector.Here is the source:

DWORD time1,time2,SPL,IPP;float max;
int maxindex;

float signal[32768];
for (UINT i=0;i<32768;++i)
signal = i;
time1 = GetTickCount();
for (int i=0;i<1000;++i)
ippsMaxIndx_32f(signal,32768,&max,&maxindex); //it is IPP function
time2 = GetTickCount();

IPP = time2-time1;

time1 = GetTickCount();
for (int i=0;i<1000;++i)
max = nspsMaxExt(signal,32768,&maxindex); //it is SPL function
time2 = GetTickCount();

SPL = time2-time1;

printf("%s%d%s","SPL Performance:",SPL,"\n");
printf("%s%d%s","IPP Performance:",IPP,"\n");

the result was very strange:

SPL Performance:172
IPP Performance:203

It is impossible tha IPP could be slower than SPL.

0 Kudos
1 Reply
Vladimir_Dudnik
Employee
123 Views
That can be possible if you link with IPP static libraries and did not call ippStaticInit function which cause IPP static dispatcher switch to 'generic C' code instead of optimized branch.
Regards,
Vladimir

Reply