猿问

如何加快gwt编译器的速度?

我们开始在我们的项目中大量使用GWT,并且GWT编译器的性能变得越来越令人讨厌。

我们将开始改变工作方式以缓解该问题,其中包括更加强调托管模式浏览器,这使运行GWT编译器的需求推迟到以后,但这会带来自身的风险,特别是在直到比我们想要的要晚得多的时候,才真正的浏览器发现问题。

理想情况下,我们希望使GWT编译器本身更快-一分钟的编译相当小的应用程序耗费了小费。但是,如果使用的是相当幼稚的方式,我们将使用编译方式,因此我希望我们可以快速轻松地获得收益。

我们目前正在从ant Ant目标中调用com.google.gwt.dev.Compiler作为Java应用程序,最大堆内存为256m,并且有大量堆栈空间。Ant会使用fork = true和最新的Java 6 JRE启动该编译器,以尝试利用Java6的改进性能。我们将主控制器类与应用程序类路径一起传递给编译器,然后关闭。

我们还能做什么以提高速度?我们可以给它更多的信息,以便花费更少的时间来发现要做的事情吗?

我知道我们只能告诉它仅针对一个浏览器进行编译,但是我们需要进行多浏览器测试,因此这并不实际。

此时欢迎所有建议。


青春有我
浏览 780回答 3
3回答

慕姐8265434

如果使用-localWorkers标志运行GWT编译器,则编译器将并行编译多个置换。这使您可以使用多核计算机的所有内核,例如-localWorkers 2将告诉编译器并行编译两个排列。您不会得到数量级的差异(并非编译器中的所有内容都是可并行化的),但是如果您要编译多个置换,这仍然是明显的加速。如果您愿意使用GWT的主干版本,则可以对任何浏览器使用托管模式(进程外托管模式),从而可以缓解当前大多数托管模式问题。这似乎是GWT的发展方向-始终以托管模式进行开发,因为编译不太可能获得更快的幅度。
随时随地看视频慕课网APP
我要回答