Ubuntu 启动时间慢

Ubuntu 启动时间慢,ubuntu,groovy,Ubuntu,Groovy,有没有办法加快Groovy的启动时间?(除了使用某种单独运行的Groovy进程之外,正如所建议的那样) 我不太关心执行时间,但是启动速度太慢使我无法在Groovy中开发 在我的机器上使用Groovy和Ruby启动和运行空脚本的简单比较: $ time groovy -e "" real 0m5.678s user 0m6.468s sys 0m0.456s $ time ruby -e "" real 0m0.023s user 0m0.020s sys 0m0.0

有没有办法加快Groovy的启动时间?(除了使用某种单独运行的Groovy进程之外,正如所建议的那样)

我不太关心执行时间,但是启动速度太慢使我无法在Groovy中开发

在我的机器上使用Groovy和Ruby启动和运行空脚本的简单比较:

$ time groovy -e ""
real   0m5.678s
user   0m6.468s
sys    0m0.456s

$ time ruby -e ""
real   0m0.023s
user   0m0.020s
sys    0m0.004s
我使用存储库中的标准包运行Ubuntu11.10

$ groovy -v
Groovy Version: 1.7.10 JVM: 1.6.0_23

$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=11.10
DISTRIB_CODENAME=oneiric
DISTRIB_DESCRIPTION="Ubuntu 11.10"

$ java -version
java version "1.6.0_23"
OpenJDK Runtime Environment (IcedTea6 1.11pre) (6b23~pre11-0ubuntu1.11.10.1)
OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode)

JVM本身有很多启动开销,最适合长时间运行的进程

尽管您说过“除了使用某种单独运行的Groovy进程之外,正如我所建议的那样”,但您可能想看看

6秒似乎太长了。以下是我在同一测试中得到的结果:

Ubuntu 11.04 Mac OS X 10.7.2
这是JVM开销加上groovy自己的启动时间的组合。将
-noverify
标志添加到JVM选项会关闭字节码验证,这会产生明显的不同。将
JAVA\u OPTS
环境变量设置为
-noverify
,以使groovy使用它


还有一个项目需要在后台运行服务器进程来解决这个问题:

0.5秒是可以接受的!那一定是我的设置有问题吧?或者在Ubuntu 11.04和11.10之间发生了什么事?我在Ubuntu 10.10、java 1.6.0、groovy 1.8.4上也得到了大约0.5秒。在groovy 1.8.5上,我的启动时间降到了4.1秒。在java版本7(OpenJDK,
apt get install OpenJDK-7-jdk
)上,启动时间降到了大约1.2秒。
$ time groovy -e ""
real     0m0.588s
user     0m0.484s
sys      0m0.056s
$ time groovy -e ""
real    0m0.856s
user    0m1.114s
sys     0m0.125s

$ groovy -version
Groovy Version: 1.8.5 JVM: 1.6.0_29 Vendor: Apple Inc. OS: Mac OS X

$ java -version
java version "1.6.0_29"
Java(TM) SE Runtime Environment (build 1.6.0_29-b11-402-11M3527)
Java HotSpot(TM) 64-Bit Server VM (build 20.4-b02-402, mixed mode)