Ohjelmistosuunnitteluun liittyvää suorituskykyanalyysiä kutsutaan joskus profiloimiseksi, ja se on yksinkertaisesti prosessi, jolla arvioidaan tietyn ohjelmiston toimintaa. Tämä prosessi alkaa yleensä siitä, miten ohjelma latautuu ja mitä tapahtuu, kun jokainen ohjelman käytön vaihe suoritetaan. Suorituskykyanalyysin tavoitteena on varmistaa, että ohjelmisto toimii parhaalla mahdollisella tehokkuudella, ja tunnistaa ja korjata kaikki ongelmat, jotka voivat vaikuttaa kyseiseen tehokkuuteen.
Suorituskykyanalyysi auttaa insinööriä myös säätämään komponentteja tavalla, joka auttaa ohjelmaa hyödyntämään parhaiten käytettävissä olevia resursseja. Arvioimalla reaaliaikaisia suorituksia on mahdollista määrittää, voitaisiinko tehdä jotain tehtävän nopeuttamiseksi tai muuttaa tehtävän suorittamiseen tarvittavaa muistimäärää vaikuttamatta negatiivisesti ohjelmiston yleiseen toimintaan. Lopullinen tavoite on ohjelma, joka toimii sujuvasti, nopeasti ja joka kerta, kun jokin tehtävä käynnistetään.
Suoritusanalyysi on yksi dynaamisen ohjelma -analyysin eli DPA: n tyyppi. DPA keskittyy siihen, mitä tapahtuu, kun ohjelma on aktiivisesti käynnissä, mukaan lukien kuinka resurssit käytetään ja missä järjestyksessä. Tämä eroaa staattisesta koodianalyysistä, jossa keskitytään enemmän koodin kirjoittamiseen ja kuinka loogiseen komentojen peräkkäiseen sattuu. Molemmat analyysityypit ovat kuitenkin yleisiä elementtejä ohjelmistojen ja ohjelmistojen toimivuuden arvioinnissa ja parantamisessa.
Ohjelma -analyysin historia ulottuu tietojenkäsittelyn varhaisimpiin vuosiin. 1940 -luvun ensimmäisten “elektronisten aivojen” kehittämisen aikana otettiin käyttöön erilaisia menetelmiä kunkin toiminnon tehokkuuden testaamiseksi, jonka tietty järjestelmä kykeni suorittamaan. Tekniikan kehittyessä eri järjestelmissä toimivien ohjelmistojen suorituskyvyn arviointimenetelmiä tarkennettiin ja niistä tuli hieman standardoituja. Nykyään järjestelmäarkkitehdit ja ohjelmistojen kirjoittajat käyttävät ohjelma -analyysiä tunnistaakseen ohjelman tietyn julkaisun vahvuudet ja heikkoudet ja luodakseen korjauksia kaikkiin ongelmiin. Suoritusanalyysin avulla kerätyt tiedot auttavat estämään samojen ongelmien esiintymisen ohjelman myöhemmissä julkaisuissa.
Varsinainen suorituskykyanalyysiprosessi voidaan silti suorittaa manuaalisella tarkistuksella ohjelman aktiivisen käytön aikana tai se voidaan suorittaa automaattisesti kokoamalla tietoja automaattisen profiilin avulla. Molemmissa tapauksissa kerätään tietoja, joiden avulla sekä ohjelmiston kirjoittaja että järjestelmäarkkitehti voivat määrittää, mitä on tehtävä, jotta ohjelma toimisi huipputehokkaasti tietyssä järjestelmässä tai verkossa. Suorituskykyanalyysi ei ole tehtävä, joka suoritetaan kerran ja sitten pidetään suoritettuna. Ei ole epätavallista, että järjestelmänvalvojat suorittavat suorituskykyanalyysin säännöllisesti, koska muiden ohjelmien päivitykset ja laitteistomuutokset voivat mahdollisesti vaikuttaa analysoitavan ohjelman tehokkuuteen.