När huvudminnet växer är frågeprestandan mer och mer bestämd av de råa CPU-kostnaderna för själva frågebehandlingen. Den klassiska iterator stil frågebehandling teknik är mycket enkel och flexibel, men visar dålig prestanda på moderna processorer på grund av brist på lokalitet och frekventa instruktioner felprediktioner. Flera tekniker som batch orienterad bearbetning eller vektoriserad tuple bearbetning har tidigare föreslagits för att förbättra denna situation, men även dessa tekniker är ofta out-performed av handskrivna exekveringsplaner. I detta arbete presenterar vi en ny kompileringsstrategi som översätter en fråga till kompakt och effektiv maskinkod med hjälp av LLVM kompilatorramverket. Genom att sikta på god kod- och datalokalitet och förutsägbar filiallayout konkurrerar den resulterande koden ofta med prestandan hos handskriven C++-kod. Vi integrerade dessa tekniker i HyPer huvudminne databassystem och visar att detta resulterar i utmärkt frågeprestanda samtidigt som kräver endast blygsam sammanställningstid.
Men den top-down iterator modellen visar dålig prestanda på moderna processorer på grund av brist på lokalitet, frekventa instruktioner felpredictions och alltför många funktion kallar REF.
Efficiently Compiling Efficient Query Plans for Modern Hardware
{'venue': 'PVLDB', 'journal': 'PVLDB', 'mag_field_of_study': ['Computer Science']}