Objektorienterade program förlitar sig starkt på objekt och pekare, vilket gör dem sårbara för avmattning från cache och TLB missar. cache- och TLB-beteendet beror på objektens datalayout i minnet. Det finns många möjliga datalayouter med olika effekter på prestanda, men det är inte känt som presterar bättre. I detta dokument presenteras ett nytt ramverk för utvärdering av datalayouter. Ramverket gör det både enkelt att implementera många layouter och möjliggör prestandamätningar av verkliga program med hjälp av en produkt Java virtuell maskin på lager hårdvara. Detta uppnås genom att sortera föremål under kopiering av sophämtning; utanför sophämtningen bestäms programmets prestanda enbart av den datalayout som sortnyckeln implementerar. Detta papper undersöker och utvärderar 10 gemensamma datalayouter med 32 realistiska referensprogram som körs på 3 olika hårdvarukonfigurationer. Resultaten bekräftar betydelsen av datalayouter för programmets prestanda och visar att nästan alla layouter ger bästa prestanda för vissa program och sämsta prestanda för andra.
Garbage Collection for Program Locality Hirzel REF ] använder en rörlig sopsamlare för att implementera flera datalayouter av objektorienterade program och utvärdera vilken layout presenterar den bästa prestandan.
Data layouts for object-oriented programs
{'venue': "SIGMETRICS '07", 'journal': None, 'mag_field_of_study': ['Computer Science']}