java - 切换到 Java 7 时构建时间显着增加

我们在构建过程中使用 Java,因为它用于通过 Ivy 解析/发布我们的依赖项。

没问题,我们已经使用它 2 年了,直到我们尝试将 Java 6 Update 26 升级到版本 7 Update 7,而在本地开发人员 PC (WinXP) 上构建现在需要 2 小时才能完成,而不是 10 分钟!!

PC 上没有其他任何变化,这使它成为我们关注的绝对目标。

有没有人知道为什么 Java 版本 7 会产生这样的速度差异?

更新:构建过程是基于 NAnt 的,因此 Java.exe 从 NAnt 脚本调用,在命令 (DOS) 窗口中运行。

最佳答案

我正在使用 JDK 7u7,我注意到通过调整一些 VM Options 可以获得更好的性能.

您可以尝试 G1GC 和 AgressiveOpts 来帮助缩短编译时间。

按照我在编辑器中使用的设置:

-Xss8m 
-Xmn256m 
-Xms512m 
-Xmx1024m 
-XX:PermSize=256m 
-XX:MaxPermSize=512m 
-XX:+UseG1GC 
-XX:+OptimizeStringConcat 
-XX:+UseStringCache 
-XX:+AggressiveOpts

您可以在 VM Options 中找到每个选项的说明。链接。

希望对你有帮助。

https://stackoverflow.com/questions/12605377/

相关文章:

build - GulpJS : How to rev images and then update

build - 为什么 Gradle 不在编译/运行时类路径中包含传递依赖项?

git - 您是否应该将已编译的 Assets checkin Git?

linux - 如何使用静态链接构建 git?

javascript - 减少 React/MERN Stack Bundle 的大小 - 主要是删

java - 在 Play 上使用 Clover 执行代码覆盖!使用 Ant 的框架应用程序

xcode - 如何将构建阶段复制到 Xcode 中的另一个目标?

build - 在另一个项目中调用 gradle "build"任务

android - 带有 Phonegap Build 和 PushPlugin 的 Android

deployment - 什么/为什么 WinRT 随机创建新的干净布局