2013-01-18 81 views
4

我有一個PHP應用程序,它接受提交的JavaScript代碼並利用Google的Closure編譯器來最小化它。提高關閉的性能/加載時間compiler.jar

PHP腳本使用的exec()命令,調用編譯器以下面的方式:

exec('java -jar compiler.jar --js file.js', $output);

這種方法的問題是它需要到java發動機每次加載編譯器的時間.jar和執行壓縮,約3秒至最小化一個簡單的代碼,如:

alert ("hello");

我相信,這是由於它需要加載JA的時間va引擎和jar文件,以及處理JavaScript代碼所需的時間。

我的問題是,這裏有什麼選擇來提高速度?

我想到的一個想法可能是將compiler.jar轉換爲一個servlet,它接收包含代碼和選項的帖子,然後通過http或套接字返回結果,並在Tomcat中運行它。但由於我不熟悉java代碼,這種方法可能很複雜,但我不知道它是否會大大提高速度。

請讓我知道你將如何接近它,謝謝!

回答

3

不要刻意去創建一個Java運行時服務器,其他人已經這樣做了

看一看Nailgun

您可以在GroovyServ看看,也因爲它的Java兼容。

+0

Nailgun聽起來很有希望。 我以前也考慮過使用PHP-Java橋[link](http://php-java-bridge.sourceforge.net/pjb/),但Nailgun看起來像一個更簡單的解決方案。 – Tamas

0

考慮看Plovr(http://plovr.org/)或類似。這是Closure編譯器現有的編譯服務器。

+0

謝謝。 Plovr看起來很有趣,但我認爲nailgun更適合我當前的需求,特別是因爲調用任意js文件的方法。 – Tamas