"Bruno Luong" <email@example.com> wrote in message news:firstname.lastname@example.org... >> GFlopsMM(s) = NIter*2*size(A,1)^3/1e9/t; >> GFlopsFFT(s) = NIter*5*N*log2(N)*N/1e9/t2; > > So you assume that: > > (1) the computer does not use any multi-threading during MM or FFT? > (2) MATLAB matrix multiplication is O(n^3) (which is not the optimal)? > (3) memory access data are negligible (usually not right)?
(4) Performance is the only goal or the main goal behind FFT implementations.
Getting the correct answer quickly is best. [*] Getting the correct answer slowly is good. Getting the wrong answer slowly is bad (because you're likely to investigate the code for performance improvements, which may lead you to detect that the code returns the wrong answer.) Getting the wrong answer quickly is worst.
Taking this beyond the logical extreme: MATLAB could be very, very fast if it simply returned  for all operations. Of course, that wouldn't be very useful now would it?
[*] Different applications have different definitions of "the correct answer" -- for instance, this wouldn't satisfy the definition used by MATLAB: