Подтвердить что ты не робот

Есть ли способ ускорить Javadoc (занимает 7 минут)

Я создаю Javadoc для модуля с 2 509 классами. В настоящее время это занимает 7 минут или 6 файлов в секунду.

Я пробовал

mvn -T 1C install

Однако javadoc использует только 1 процессор. Есть ли способ получить больше и/или ускорить?

Я использую Oracle JDK 8 update 112. Моя машина Dev имеет 16 ядер и 128 ГБ памяти.

Запуск бортового самописца я могу есть только один поток main

введите описание изображения здесь

Для тех, кого это касается, я использовал следующие параметры.

<plugin>
    <artifactId>maven-javadoc-plugin</artifactId>
    <configuration>
        <additionalJOptions>
            <additionalJOption>-J-XX:+UnlockCommercialFeatures</additionalJOption>
            <additionalJOption>-J-XX:+FlightRecorder</additionalJOption>
            <additionalJOption>-J-XX:StartFlightRecording=name=test,filename=/tmp/myrecording-50.jfr,dumponexit=true</additionalJOption>
            <additionalJOption>-J-XX:FlightRecorderOptions=loglevel=debug</additionalJOption>
        </additionalJOptions>
    </configuration>
</plugin>

ПРИМЕЧАНИЕ. Один способ - сделать

-Dmaven.javadoc.skip=true
4b9b3361

Ответ 1

Запуск maven с -T1C заставит maven пытаться строить модули параллельно, поэтому, если у вас есть многомодульный проект, в лучшем случае он будет строить каждый модуль javadoc параллельно (если это допустимо для графика зависимости между модулями).

Сам процесс javadoc является однопоточным, поэтому вы не сможете использовать несколько ядер для генерации javadoc одного модуля.

Однако, поскольку у вас много классов (и, возможно, много @doclets или похожих?), возможно, процесс javadoc может извлечь выгоду из расширенной кучи. Вы изучали деятельность GC? Попробуйте добавить это в свою конфигурацию, посмотрите, помогает ли она:

<additionalJOption>-J-Xms2g</additionalJOption>
<additionalJOption>-J-Xmx2g</additionalJOption>

Ответ 2

Используйте doxygen вместо обычного mvn, который вы используете сейчас.