Comment

Comment by ashishuthama

Another data point: MATLAB, glnxa64 AVX2, 12 core

>> maxNumCompThreads(1);

>> im = randi(255, [2560, 1600, 3],'uint8');

>> timeit(@()imresize(im,[320,200],'bilinear','Antialiasing',false))

ans =

    0.0083
>> timeit(@()imresize(im,[320,200],'bilinear'))

ans =

    0.0301
>> maxNumCompThreads(6);

>> timeit(@()imresize(im,[320,200],'bilinear','Antialiasing',false))

ans =

    0.0062
>> timeit(@()imresize(im,[320,200],'bilinear'))

ans =

    0.0113

Oh, missed that lanczos2 part:

>> maxNumCompThreads(1);

>> timeit(@()imresize(im,[320,200],'lanczos2','Antialiasing',false))

ans =

    0.0146
>> maxNumCompThreads(6);

>> timeit(@()imresize(im,[320,200],'lanczos2','Antialiasing',false))

ans =

    0.0049

Since MATLAB tries to do most of the computation in double precision, its harder to extract much from SIMD.

No comments yet

Be the first to share your thoughts.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton