2013-03-27 2 views
9

Есть ли опции, кроме -O0, что может ускорить сбор времени?Ускорение компиляции в GHC

Неважно, если результирующие программы не будут оптимизированы. На самом деле я хочу просто быстро и быстро проверять большой пакет haskell.

Флаг -fno-code значительно ускоряет компиляцию, но использовать его невозможно, поскольку TemplateHaskell используется этой программой.

+2

Если вы не меняете множество модулей между компиляторами и сохраняете файлы объектов и интерфейсов, не должно быть слишком много модулей, которые необходимо перекомпилировать в каждом цикле. Разве это недостаточно хорошо? –

+0

На самом деле нет, потому что большая часть этого проекта генерируется через TH в одном (последний в порядке компиляции). –

+1

Urk. В этом случае я понятия не имею, как вы могли ускорить его. –

ответ

6

Похож на задание для hdevtools! Hdevtools используется как бэкэнд для виртуального плагина с тем же именем и обеспечивает быстрый синтаксис и проверку типов непосредственно из редактора. Это происходит так же быстро, как ghci при перезагрузке модулей. Я предполагаю, что его можно использовать из командной строки.

Другой альтернативой может быть запуск экземпляра ghci и использование этого типа для проверки модулей.

+1

Спасибо, hdevtools отлично! Это немного проще использовать вместо ghci. К сожалению, hdevtools не работает с cabal и cabal-dev, но можно передать необходимые опции ghc. –

+0

Да. Необходимость передавать параметры, чтобы заставить его работать с cabal-dev, немного раздражает, но это похоже на общую «особенность» с такими инструментами. – aleator

2

Я обнаружил, что разделение больших файлов может ускорить компиляцию.

Смежные вопросы