Замедляет ли lombok '@ Slf4j' инициализацию объекта? - PullRequest
0 голосов
/ 20 декабря 2018

Я использую пару созданных нами пользовательских библиотек, которые интенсивно используют аннотации lombok, особенно @Slf4j.Когда я регистрирую время, затраченное на создание каждого bean-компонента, я вижу, что создание классов с аннотациями @Slf4j занимает слишком много времени (например, 30 с или около того).

Мой -проект среднего размера с примерно 90 банками зависимостей.Имеет ли смысл наблюдение, что @Slf4j замедляет инициализацию?Если да, то что за исправление?

1 Ответ

0 голосов
/ 20 декабря 2018

@Slf4j преобразуется во время компиляции в этот фрагмент кода:

private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(MyClass.class);

Сама аннотация затем удаляется из файла класса (т. Е. Отсутствует во время выполнения).Таким образом, проблема с производительностью может быть связана с производительностью LoggerFactory.getLogger(), производительность которой зависит от используемого бэкэнда ведения журнала (например, logback или log4j).

Не будет разницы в производительности, независимо от того,напишите эту строку вручную или используйте lombok.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...