Hva er ytelsesanalyse?
Noen ganger referert til som profilering, er resultatanalyse når det gjelder programvareteknikk ganske enkelt prosessen med å evaluere hvordan et bestemt program fungerer. Denne prosessen begynner normalt med hvordan programmet lastes inn og hva som skjer når hvert trinn i bruk av programmet kjøres. Målet med ytelsesanalysen er å sikre at programvaren fungerer på optimal effektivitet og å identifisere og rette eventuelle problemer som kan ha negativ innvirkning på effektiviteten.
Ytelsesanalyse hjelper også ingeniøren med å justere komponenter på en måte som hjelper programmet å utnytte tilgjengelige ressurser best mulig. Ved å evaluere sanntids henrettelser, er det mulig å bestemme om noe kan gjøres for å få en oppgave til å øke hastigheten, eller endre mengden minne som kreves for å kjøre oppgaven uten å påvirke programvarens samlede funksjon negativt. Det endelige målet er et program som kjører jevnt, raskt og fungerer hver gang en hvilken som helst oppgave igangsettes.
Resultatanalyse er en type dynamisk programanalyse, eller DPA. DPA fokuserer på hva som skjer når et program kjører aktivt, inkludert hvordan ressurser brukes og i hvilken rekkefølge. Dette er forskjellig fra statisk kodeanalyse, som har en tendens til å fokusere mer på hvordan koden er skrevet og hvor logisk rekkefølgen av kommandoer skjer. Imidlertid er begge typer analyser vanlige elementer i evaluering og foredling av programvare og programvarefunksjonalitet.
Programanalysens historie går tilbake til de tidligste årene med databehandling. Under utviklingen av de første "elektroniske hjerner" på 1940-tallet, ble forskjellige metoder på plass for å teste effektiviteten til hver funksjon som et gitt system var i stand til å utføre. Etter hvert som teknologien fortsatte å gå videre, ble metodikken for å evaluere ytelsesnivået til programvare som kjører på forskjellige systemer, foredlet og ble noe standardisert. I dag bruker systemarkitekter og programforfattere programvareanalyser for å identifisere styrker og svakheter som ligger i en gitt utgivelse av et program, og opprette rettelser for eventuelle problemer. Dataene som samles inn ved resultatanalyse, hjelper til med å forhindre at de samme problemene vises i senere utgivelser av programmet.
Selve prosessen med ytelsesanalyse kan fremdeles utføres ved manuell gjennomgang under aktiv drift av et program, eller fullføres automatisk ved å samle data ved hjelp av en automatisert profiler. I begge tilfeller fanges opp informasjon som lar både en programvareskriver eller en systemarkitekt bestemme hva som må gjøres for at programmet skal fungere på topp effektivitet i et gitt system eller nettverk. Resultatanalyse er ikke en oppgave som utføres en gang og deretter anses som utført. Det er ikke uvanlig at systemadministratorer kjører en resultatanalyse på en tilbakevendende basis, siden oppdateringer til andre programmer så vel som maskinvareendringer muligens kan påvirke effektiviteten til programmet som gjennomgår analysen.