Why the same function is taking more time after MEX creation?
    3 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
    JAI PRAKASH
      
 il 27 Ago 2018
  
    
    
    
    
    Modificato: Ryan Livingston
    
 il 29 Ago 2018
            I want to create mex of 'sort()' funtion.
So I build below function
function idx = sort2(h)  % h is 600x1280 'single' elements
[~,idx] = sort(h(:));  % because I just want indices only, I dont want the elements.
end
If I call above funtion:

Why the 'MEX' is taking more time??
0 Commenti
Risposta accettata
  Ryan Livingston
    
 il 28 Ago 2018
        
      Modificato: Ryan Livingston
    
 il 29 Ago 2018
  
      The MATLAB Coder documentation has a section covering acclerating MATLAB code via MEX generation:
One page that's relevant to what you are seeing is:
It contains the statement:
Use MEX functions to accelerate MATLAB code only if user-generated code dominates the run time.
Avoid generating MEX functions if computationally intensive, built-in MATLAB functions dominate the run time. These functions are pre-compiled and optimized, so the MATLAB code is not accelerated significantly using a MEX function.
In MATLAB, sort is a built-in function that is hand-optimized and compiled. So the generated code likely won't be any faster and can be slower in some cases.
Più risposte (0)
Vedere anche
Categorie
				Scopri di più su Write C Functions Callable from MATLAB (MEX Files) in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

