CATEGORII DOCUMENTE |
Profiler-ul MATLAB
Pentru imbunatatirea performantelor fisierelor MATLAB se utilizeaza un instrument MATLAB numit Profiler. Acest instrument furnizeaza informatii utile privitoare la timpul alocat calculelor efectuate de fiecare linie program.
Cu ajutorul Profiler-ului se masoara modul in care programul consuma timp, si o masura este evident mai buna decat ghicitul rutinelor sau functiilor care consuma mult timp de calcul.
Programarea eficienta presupune folosirea Profiler-ului pentru determinarea "strangularilor" din programul creat si apoi modificarea programului pentru optimizarea timpului de calcul.
Programele MATLAB au in general o structura multistrat generata de faptul ca functiile utilizate apeleaza deseori alte functii si asa mai departe. De aceea este important sa fie identificate acele functii consumatoare de timp si inlocuite daca este posibil.
Profiler-ul permite:
Evitarea calculelor inutile.
Schimbarea algoritmilor pentru evitarea folosirii unor functii consumatoare de timp.
Evitarea recalcularilor prin stocarea unor rezultate ce pot fi utilizate ulterior.
Comanda profile
Pentru a crea un profil al programului (fisierului) MATLAB se foloseste comanda profile pentru a genera si vizualiza statisticile despre programul respectiv. In tabelul urmator sunt prezentate formele posibile ale acestei comenzi.
Sintaxa |
Optiuni |
Descriere |
Profile on |
|
Starteaza profiler-ul si sterge statisticile inregistrate anterior. |
|
-detail level |
Specifica nivelul functiei analizate. |
|
-history |
Specifica secventa exacta a apelurilor facute de functia care va fi inregistrata. |
Profile report |
|
Suspenda activitatea profilerului dupa care genereaza un raport in format HTML pe care il afiseaza in browserul Web. |
|
Basename |
Salveaza raportul in fisierul basename din directorul curent. |
Profile plot |
|
Suspenda activitatea profiler-ului dupa care afiseaza un grafic in fereastra figura cu functiile care consuma majoritatea timpului de executie. |
Profile resume |
|
Restarteaza profiler-ul fara a sterge statisticile inregistrate anterior. |
Profile clear |
|
Sterge statisticile inregistrate. |
Profile off |
|
Termina activitatea profiler-ului. |
Profile status |
|
Afiseaza o structura care contine starea curenta a profiler-ului. |
stats = profile('info') |
|
Suspenda profiler-ul si afiseaza o structura cu rezultatele activitatii de analiza. |
Exemplu de utilizare a Profiler-ului
Se starteaza profiler-ul:
profile on -detail builtin -history
Optiunea -detail builtin determina profilerul sa intocmeasca statistici si pentru functiile built-in.
Se executa un fisier .m . In exemplu este preluat programul care ruleaza modelul Lotka-Volterra pentru populatii tip pradator-prada (lotkademo pentru demo).
[t,y] = ode23('lotka',[0 2],[20;20]);
Se genereaza un raport si se salveaza rezultatele in fisierul lotkaprof.
profile report lotkaprof
Se restarteaza profiler-ul fara stergerea statisticilor existente.
profile resume
Se opreste profiler-ul.
profile off
Vizualizarea rezultatelor
A. Rapoarte
Pentru afisarea unui raport cu rezultatele statistice obtinute se tasteaza
profile report
Raportul care rezulta apare in fereastra browserului Web si incepe cu un rezumat al raportului din care se pot accesa un raport detaliat si un raport al apelarilor de functii (o cronica).
Raportul rezumat. In figura urmatoare este prezentat raporul rezumat pentru exemplul Lotka-Volterra.
Raportul detaliat. Acest raport furnizeaza detalii despre functiile de tip "parinte" si "copil" ale unei functii. Este prezentat raportul detaliat pentru functia lotka din exemplul considerat.
Raportul apelarilor de functii. Acest raport afiseaza secventa exacta a functiilor apelate. Pentru a vizualiza acest raport, trebuie startat profiler-ul cu optiunea -history.
profile on -history
Este prezentat un exemplu de astfel de raport.
B. Reprezentarea grafica a rezultatelor Profiler-ului
Pentru a obtine o reprezentare grafica trebuie sa tastam:
profile plot
In fereastra grafica va apare un grafic de forma din figura urmatoare:
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 1758
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved