Moderna program använder ofta sofistikerade modulära konstruktioner. Som ett resultat, prestandaproblem kan inte identifieras från kostnader som tillskrivs rutiner i isolering; förståelse kod prestanda kräver information om en rutin samtal sammanhang. Befintliga verktyg för prestanda saknas i detta avseende. Tidigare strategier för att tilldela kontextkänsliga prestanda på källnivå antingen kompromiss mätnoggrannhet, hålla sig för nära binären, eller kräva anpassade kompilatorer. För att förstå prestandan hos fullt optimerad modulär kod, utvecklade vi två nya binära analystekniker: 1) on-the-fly analys av optimerad maskinkod för att möjliggöra minimalt påträngande och korrekt fördelning av kostnader till dynamiska anropssammanhang; och 2) post-mortem analys av optimerad maskinkod och dess felsökning sektioner för att återställa sin programstruktur och rekonstruera en kartläggning tillbaka till sin källkod. Genom att kombinera den återvunna statiska programstrukturen med dynamisk samtalskontextinformation, kan vi korrekt tillskriva prestandamått till anropskontext, procedurer, loopar, och inlined fall av procedurer. Vi visar att sammanslagningen av denna information ger unik insikt i prestandan hos komplexa modulkoder. Detta arbete genomförs i HPC-TOOLKIT 1 prestandaverktyg.
Som diskuteras i REF, Det finns strukturella luckor mellan den ursprungliga källkoden och dess motsvarande maskinkod.
Binary analysis for measurement and attribution of program performance
{'venue': "PLDI '09", 'journal': None, 'mag_field_of_study': ['Computer Science']}