Lombok 是一个注解处理器(一个编译器插件,如果你愿意的话)。在编译时,每次在您的代码中找到一组特定的注释时都会调用它,并有机会生成新的源代码或引发编译器错误。如果在编译过程中生成了任何新内容,则必须进行另一次,直到所有内容都已成功编译。所以是的,找到注释、根据需要处理它们(见下文)以及运行额外的编译轮次都需要时间。
注释处理器规范明确禁止他们修改现有代码 - 您可以生成新类或额外文件(.properties 等),但不能更改现有代码。Lombok 通过检测使用的编译器来解决这个问题,并破解其内部 API 以更改内存中的 AST 以添加访问器等。这简直……太可怕了。
在我看来,这是一个重大的技术风险。最后,Lombok 没有你的 IDE 不能做的事情——生成访问器等,但可能危及你的整个项目——如果你升级你的编译器并且 Lombok 不支持它,或者引入了一个错误怎么办?你最终得到一个非编译代码(或者在你的情况下,一个非常慢的编译),只是为了隐藏一些没有害处的样板方法,除了在你的代码中占用几行。但那只是我的个人意见 :)
所以回到你的问题,我看不出你怎么能得到更好的编译时间,除非一起删除 Lombok。