MATLAB Language Identificazione dei colli di bottiglia delle prestazioni utilizzando il Profiler


Esempio

Il MATLAB Profiler è uno strumento per la profilazione software del codice MATLAB. Usando il Profiler, è possibile ottenere una rappresentazione visiva del tempo di esecuzione e del consumo di memoria.

L'esecuzione di Profiler può essere eseguita in due modi:

  • Facendo clic sul pulsante "Esegui e ora" nella GUI MATLAB mentre si ha un file .m aperto nell'editor (aggiunto in R2012b ).

    Pulsante nella striscia di strumento

  • Programmaticamente, utilizzando:

    profile on
    <some code we want to test>
    profile off
    

Di seguito sono riportati alcuni esempi di codice e il risultato della sua profilazione:

function docTest

for ind1 = 1:100
  [~] = var(...
            sum(...
                randn(1000)));
end

spy

Uscita del profiler

Da quanto sopra, apprendiamo che la funzione spy impiega circa il 25% del tempo totale di esecuzione. Nel caso del "codice reale", una funzione che richiede una percentuale così elevata del tempo di esecuzione sarebbe un buon candidato per l'ottimizzazione, al contrario delle funzioni analoghe a var e cla cui ottimizzazione dovrebbe essere evitata.

Inoltre, è possibile fare clic sulle voci nella colonna Nome funzione per visualizzare un'analisi dettagliata del tempo di esecuzione per quella voce. Ecco l'esempio di clic spy :

Tempi interni di "spy"


È anche possibile profilare il consumo di memoria eseguendo il profile('-memory') prima di eseguire il Profiler.

inserisci la descrizione dell'immagine qui