Отладка длинных времени компиляции в Scala и SBT

В моем проекте Scala/SBT у меня есть один файл, который занимает до 5 (!) минут для компиляции. Все остальные могут скомпилироваться через несколько секунд. Это делает развитие довольно болезненным.

Я уверен, что я злоупотребляю некоторыми конструкциями Scala, но я понятия не имею, как их отлаживать. Как отлаживать длинные сроки компиляции в Scala?

Я использую Scala 2.9.2 и SBT 0.11.2

Ответ 1

Вы можете попробовать:

  • -Yстатистика Статистика компилятора Распечатать

Найдите фазу, которая занимает больше всего времени. Затем попробуйте те:

  • -Xprint: распечатать программу после или "все"
  • -Yshow-trees Показывать подробные деревья при использовании в -print: phase
  • -Ydebug Отладочные сообщения вывода
  • -Ypmat-debug Отслеживать все действия со списком шаблонов.