En prestandajämförelse mellan objektorienterad design och dataorienterad design i C++, Java och Java Project Valhalla

Detta är en M1-uppsats från KTH/Hälsoinformatik och logistik

Sammanfattning: Datorspel behöver utnyttja hårdvara effektivt för att kunna vara tillgänglig på så många system som möjligt med varierande kapacitet. En viktig del i detta är att optimera användandet av processorns cacheminnen. Programmerare kan följa en dataorienterad design för att implementera cacheeffektiv kod. Detta förutsätter att programmeraren har kontroll över hur data lagras i minnet, vilket är svårt att uppnå i Java. Project Valhalla kan erbjuda funktioner för att åtgärda detta problem. I detta arbete jämfördes objektorienterad design med dataorienterad design i språken C++, Java och den pågående utvecklingen av Project Valhalla. En prototyp utvecklades och implementerades med olika kombinationer av dessa språk och designer. För varje implementation mättes prestanda och cacheeffektivitet. Resultatet visade att Java med Project Valhalla kan uppnå liknande prestanda som C++ vid dataorienterade implementationer. På grund av vissa begränsningar i Valhallas funktioner kommer det troligtvis inte bli ett praktiskt alternativ till lågnivåspråk inom en snar framtid.

  HÄR KAN DU HÄMTA UPPSATSEN I FULLTEXT. (följ länken till nästa sida)