Compilers

Welke optimalisatie wordt het best mogelijk gemaakt door link-time optimization (LTO)?

  1. AInlining enz. is ook mogelijk tussen functies in afzonderlijke bestanden
  2. BAlleen lussen binnen één functie kunnen worden uitgerold
  3. CLinken is niet meer nodig en objectbestanden kunnen rechtstreeks worden uitgevoerd
Antwoord en toelichting tonen

Antwoord: A. Inlining enz. is ook mogelijk tussen functies in afzonderlijke bestanden

Bij gewoon compileren wordt elk bronbestand afzonderlijk naar machinecode omgezet, zodat de inhoud van functies in andere bestanden niet zichtbaar is en inlining of constantpropagatie over bestanden heen niet mogelijk is. Bij LTO blijft elk bestand als tussenrepresentatie bewaard en wordt tijdens het linken het hele programma gezamenlijk geoptimaliseerd. Daardoor zijn inlining over bestanden heen en het verwijderen van functies die nergens worden aangeroepen mogelijk. Het uitrollen van lussen binnen één functie kan ook bij gewoon compileren.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Compilers

  1. In C is overflow van gehele getallen met teken ongedefinieerd gedrag. Welke code kan een compiler die de bovenstaande functie optimaliseert op deze grondslag genereren?
  2. Welke van de fouten in een programma kan al tijdens het compileren worden gevonden?
  3. Wat is het belangrijkste voordeel van typecontrole door de compiler in een taal met statische types?
  4. Wat wordt vaak gebruikt om de regels voor het herkennen van tokens bij lexicale analyse weer te geven?
  5. Welk soort grammatica wordt gebruikt om de grammatica van veel programmeertalen weer te geven en vormt de basis van parsing?

Vergelijkingen bij dit onderwerp