Что означает «анализ программ на протяжении всей жизни», как в описании LLVM? - PullRequest
2 голосов
/ 17 октября 2011

Описание LLVM (например, , здесь говорит, что это основа для продолжительности жизни анализа и преобразования программ.

Что означает на протяжении всей жизни в этом контексте?

Ответы [ 2 ]

3 голосов
/ 22 апреля 2012

"Такие методы оптимизации кода на протяжении всей жизни включают в себя межпроцедурные оптимизации, выполняемые во время соединения (для сохранения преимуществ отдельной компиляции), машинно-зависимые оптимизации во время установки в каждой системе, динамическую оптимизацию во время выполнения и оптимизацию под руководством профилей между запусками(«простой») с использованием информации профиля, полученной от конечного пользователя. "

Это было извлечено из второго абзаца этого документа: http://llvm.org/pubs/2004-01-30-CGO-LLVM.pdf

1 голос
/ 13 сентября 2012

Пожизненная фраза означает время жизни программы. Таким образом, чтобы максимизировать эффективность программы, она должна анализироваться во время соединения, во время выполнения, а также между запусками.

В статье (на 5-й странице) перечислены требования к анализу и преобразованию программ на протяжении всей жизни:

  1. постоянная информация о программе
  2. генерация автономного кода
  3. профилирование и оптимизация на основе пользователя
  4. прозрачная модель исполнения
  5. униформа, компиляция всей программы.
...