Распределенный компилятор Java

Существует ли распределенный компилятор для Java, аналогичного distcc для C/C++?

14
задан Makoto 4 December 2015 в 04:16
поделиться

3 ответа

Прямой ответ на ваш вопрос - «нет». Тем не менее, он, вероятно, не поможет вам в любом случае ... Компиляция Java очень быстро.

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

Одно, что вы можете сделать, чтобы улучшить скорость вашей компиляции, является использование компилятора eclipse вместо Sun Javac. Компилятор Eclipse Multi-Threaded, и поэтому будет, с удачей, используйте все ядра вашей машины.

, вероятно, также стоит упомянуть, что Apple также недавно уменьшенная поддержка DISTCC , поскольку в целом, на более новых аппаратных средствах стоит больше времени, чтобы получить код где-то еще, чтобы скомпилировать и обратно, чем это Просто сделайте компиляцию локально. Чтобы процитировать Apple:

Однокоммуникационная эффективность сборки XCode была улучшена до точки, которую распределенное здание с распределенными сетевыми сборками медленнее, чем локальные строения в большинстве случаев.

15
ответ дан 1 December 2019 в 12:38
поделиться
-

Если вы раздражены в ожидании долгое время для ваших компилялов Java, вы можете рассмотреть одно из следующих:

  • разбить свой проект в несколько разных файлов JAR (в иерархическом зависимость). С любой удачей ваши изменения будут влиять только на источник в одном из этих банок, а другие могут продолжать служить зависимостями.
  • Разрушите свой проект на группы источников, возможно, по пакету, и используйте Apache Ant для координации вашего компиляции. Мне всегда было лень использовать его, но вы можете настроить явную управление зависимостями, чтобы избежать повторного составления материалов, для которых .Class файлы уже существуют и являются более новыми, чем источник. Усилия, которые вступают в настройку этого, когда-то могут пожинать дивиденды в течение нескольких дней, если проект большой и компилялы разжевывают много времени.

В отличие от мульти-норинга, уменьшение количества кода, необходимого для перекомпилирования, также уменьшит потребление энергии вашего ПК и углеродной след;)

3
ответ дан 1 December 2019 в 12:38
поделиться

Может быть, Jikes будет работать для вас. Вы можете добиться очень похожих эффектов с умным сценарием муравья и NFS, как файловая система ...

2
ответ дан 1 December 2019 в 12:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: