Quels sont les problèmes ouverts actuels dans la théorie du compilateur?

Réponses:

8

D'après mon expérience, j'ai vu les nouveaux développements de compilateurs suivants:

  • Travailler à automatiser le parallélisme des données (ou au moins, réduire la quantité de travail explicite effectué par le programmeur). Cela nécessite généralement des extensions de la langue également.
  • Travailler sur des stratégies d'optimisation extrêmes telles que la super-compilation ou l'évaluation partielle (où un programme est réduit par évaluation jusqu'à ce qu'il soit réduit à sa "plus petite" forme puis compilé)

J'ai vu une variété de travaux sur des choses telles que les vérificateurs de type et ainsi de suite, mais je suppose que vous parlez plus de choses spécifiques au compilateur.

Liam O'Connor
la source
7

Depuis mon départ (mais sont probablement toujours d'actualité):

  • Traitement distribué:
    • Compilation de l'application à exécuter sur un cluster distribué de processeurs.
      Cela nécessite de prendre en compte le mappage de la mémoire (distribution des données problématiques) des données aux processeurs et d'ajouter du code explicite pour demander des pages mémoire pour la lecture / l'écriture avant qu'elles ne soient réellement nécessaires pour éviter les blocages des processeurs.
  • Traitement parallèle:
    • Code thread généré par le compilateur.
      Suppression de la nécessité pour les développeurs de générer explicitement du code threadé (car ils sont généralement très mauvais dans ce domaine).
Martin York
la source