Denumită uneori profilare, analiza performanței în legătură cu ingineria software este pur și simplu procesul de evaluare a modului în care funcționează un anumit program software. Acest proces începe în mod normal cu modul în care programul se încarcă și ce se întâmplă atunci când fiecare pas în utilizarea programului este executat. Obiectivul analizei performanței este de a se asigura că programul software funcționează la o eficiență optimă și de a identifica și corecta orice probleme care pot avea un impact negativ asupra eficienței.
Analiza performanței ajută, de asemenea, inginerul să ajusteze componentele într-un mod care ajută programul să utilizeze cât mai bine resursele disponibile. Evaluând execuțiile în timp real, este posibil să se determine dacă s-ar putea face ceva pentru a accelera o sarcină sau pentru a modifica cantitatea de memorie necesară pentru a rula sarcina fără a afecta negativ funcționarea generală a software-ului. Scopul final este un program care rulează fără probleme, rapid și funcționează de fiecare dată când este inițiată orice sarcină.
Analiza performanței este un tip de analiză dinamică a programelor sau DPA. DPA se concentrează pe ceea ce se întâmplă atunci când un program rulează activ, inclusiv pe modul în care sunt utilizate resursele și în ce ordine. Aceasta este diferită de analiza codului static, care tinde să se concentreze mai mult pe modul în care este scris codul și cât de logică este succesiunea comenzilor. Cu toate acestea, ambele tipuri de analiză sunt elemente comune de evaluare și perfecționare a software-ului și a funcționalității software.
Istoria analizei programelor datează de la primii ani de calcul. În timpul dezvoltării primului „creier electronic” din anii 1940, au fost puse în aplicare diferite metode pentru a testa eficiența fiecărei funcții pe care un anumit sistem era capabil să o îndeplinească. Pe măsură ce tehnologia a continuat să avanseze, metodologia de evaluare a nivelului de performanță al software-ului care rulează pe diferite sisteme a fost rafinată și a devenit oarecum standardizată. Astăzi, arhitecții de sistem și scriitorii de programe software folosesc analiza programului pentru a identifica punctele forte și punctele slabe inerente unei anumite ediții a unui program și pentru a crea soluții pentru orice probleme. Datele adunate prin analiza performanței ajută la prevenirea apariției acelorași probleme în versiunile ulterioare ale programului.
Procesul real de analiză a performanței poate fi realizat în continuare prin revizuire manuală în timpul funcționării active a unui program sau poate fi finalizat automat prin compilarea datelor folosind un profiler automat. În ambele cazuri, sunt capturate informații care permit atât unui scriitor de software, cât și unui arhitect de sistem să determine ce trebuie făcut pentru ca programul să funcționeze la eficiență maximă pe un anumit sistem sau rețea. Analiza performanței nu este o sarcină care este efectuată o dată și apoi considerată finalizată. Nu este neobișnuit ca administratorii de sistem să execute o analiză de performanță în mod recurent, deoarece actualizările altor programe, precum și modificările hardware ar putea avea un impact asupra eficienței programului supus analizei.