¿Cuáles son los problemas abiertos actuales en la teoría del compilador?

Respuestas:

8

En mi experiencia, he visto los siguientes nuevos desarrollos del compilador:

  • Trabajar en la automatización del paralelismo de datos (o al menos, reducir la cantidad de trabajo explícito realizado por el programador). Por lo general, esto también requiere extensiones del idioma.
  • Trabaje en estrategias de optimización extrema como la supercompilación o la evaluación parcial (donde un programa se colapsa a través de la evaluación hasta que se reduce a su forma "más pequeña" y luego se compila)

He visto una variedad de trabajos sobre cosas como los verificadores de texto, etc., pero supongo que estás hablando más sobre cosas específicas del compilador.

Liam O'Connor
fuente
7

Desde cuando me fui (pero probablemente todavía son relevantes):

  • Procesamiento distribuido:
    • Compilar la aplicación para que se ejecute en un clúster distribuido de procesadores.
      Esto requiere tener en cuenta el mapeo de la memoria (distribución de datos problemáticos) de los datos a los procesadores y agregar código explícito para solicitar páginas de memoria para lectura / escritura antes de que sean realmente necesarias para evitar paradas de los procesadores.
  • Procesamiento en paralelo:
    • El compilador generó código roscado.
      Eliminando la necesidad de que los desarrolladores generen explícitamente código enhebrado (porque generalmente son muy malos).
Martin York
fuente