mjukvaruprofilering
Mjukvaruprofilering är en uppsättning tekniker och verktyg för att mäta och analysera hur ett mjukvaruprogram beter sig under körning. Profilering kan vara dynamisk, där programmet körs och uppgifter samlas in under sin exekvering, eller statisk, där koden analyseras utan att köra den. Målet är att identifiera prestandahotar och resursflaskhalsar i detalj.
Profileringen mäter hur mycket tid som tilldelas olika delar av koden, minnesanvändning, antal allokeringar, energiförbrukning, I/O
Huvudtyperna är CPU- eller tidsprofilering och minnesprofilering. CPU-profilering kartlägger hur mycket tid som tillbringas i olika
Metoderna inkluderar instrumentering (lägg till extra kod) och sampling (regelbundna stackavlyssningar), samt statisk analys som kan
Arbetsflöde: definiera mål och vilka delar av programmet som ska analyseras, välja lämplig verktyg och arbetsbelastning,
Vanliga verktyg inkluderar Linux perf och Valgrind Massif för minnesprofilering, gprof och perf för CPU-profiler, Intel
Begränsningar: profileringsresultat fångar endast den körning som används under mätningen och kan påverkas av overhead och