【发布时间】:2011-03-27 00:40:12
【问题描述】:
我维护一个大型(> 500,000 LOC)Java 项目的构建过程。我刚刚在每晚构建的末尾添加了一个声纳分析步骤。但是执行需要三个多小时......这不是一个严重的问题(它在一夜之间发生),但我想知道我是否可以加快它的速度(以便我可以在工作时间手动运行它,如果需要的话)。
我可以调整任何可能改善情况的 Sonar、Hudson、Maven 或 JDK 选项?
[INFO] ------------- Analyzing Monolith
[INFO] Selected quality profile : Sonar way, language=java
[INFO] Configure maven plugins...
[INFO] Sensor SquidSensor...
[INFO] Java AST scan...
[INFO] Java AST scan done: 103189 ms
[INFO] Java bytecode scan...
... (snip)
[INFO] Java bytecode scan done: 19159 ms
[INFO] Squid extraction...
[INFO] Package design analysis...
... (over three hour wait here)
[INFO] Package design analysis done: 12000771 ms
[INFO] Squid extraction done: 12277075 ms
[INFO] Sensor SquidSensor done: 12404793 ms
1200 万毫秒 = 200 分钟。那是很长一段时间!相比之下,声纳步骤之前的编译和测试步骤不到 10 分钟。据我所知,该过程受 CPU 限制;更大的堆没有影响。也许由于缠结/重复分析而必须这样,我不知道。当然,我知道拆分项目是最好的选择!但这需要相当多的工作;如果我能同时调整一些配置,那就太好了。
有什么想法吗?
【问题讨论】:
-
如果我得到一个好的解决方案,我会确保它被发布在这里以及 Sonar wiki 中
-
Zac 你很幸运!!...我刚刚在项目中设置了 Sonar...20 小时后,包装设计分析仍在进行中!!!话虽如此,我们大约有 150 万个 LOC :(
标签: java maven-2 performance hudson-plugins sonarqube