减少闭包编译器jvm启动时间



上下文:与git持续集成

我有这个简单的shell脚本:
#!/bin/sh
files=`find $1 -type f -name "*.js"`
for i in $files;
do
  echo "closure compile: $i"
  java -client -jar /var/closure-compiler/compiler.jar --js $i --js_output_file $i --compilation_level SIMPLE_OPTIMIZATIONS
done

git checkout -f

之后在post-receive钩子中被调用

本质上,我想压缩(但不组合)工作目录(实际上是网站根目录)中的所有javascript文件。

每个java显然启动一个自己的JVM,这大约需要3秒,而编译器本身(当启动时)只需要几分之一秒。如果我有10个js文件,这是30秒的等待时间。虽然这对我来说可能是积极的,但我想尽量减少这个时间。

我已经研究了--module参数,它将允许我定义"多个输出文件",但是它将它们都放在同一个目录中。

人们使用Nailgun取得了很好的成功:http://www.martiansoftware.com/nailgun/

最新更新