Quali sono gli attuali problemi aperti nella teoria dei compilatori?


Risposte:


8

Nella mia esperienza, ho visto i seguenti nuovi sviluppi del compilatore:

  • Lavorare per automatizzare il parallelismo dei dati (o almeno, ridurre la quantità di lavoro esplicito svolto dal programmatore). Questo in genere richiede anche estensioni della lingua.
  • Lavorare su strategie di ottimizzazione estreme come la supercompilazione o la valutazione parziale (in cui un programma viene compresso tramite valutazione fino a quando non viene ridotto nella sua forma "più piccola" e quindi compilato)

Ho visto una varietà di lavori su cose come i correttori di tipi e così via, ma suppongo che tu stia parlando di più su cose specifiche del compilatore.


7

Da quando sono partito (ma probabilmente sono ancora rilevanti):

  • Elaborazione distribuita:
    • Compilazione dell'applicazione da eseguire su un cluster distribuito di processori.
      Ciò richiede di prendere in considerazione la mappatura della memoria (distribuzione dei dati problematici) dei dati ai processori e l'aggiunta di codice esplicito per richiedere le pagine di memoria per la lettura / scrittura prima che siano effettivamente necessarie per prevenire le stalle dei processori.
  • Elaborazione parallela:
    • Codice thread generato dal compilatore.
      Eliminando la necessità per gli sviluppatori di generare esplicitamente codice thread (perché in genere sono molto cattivi).
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.