我们开始在我们的项目中大量使用GWT,并且GWT编译器的性能变得越来越令人讨厌。我们将开始改变工作方式以缓解该问题,其中包括更加强调托管模式浏览器,这使运行GWT编译器的需求推迟到以后,但这会带来自身的风险,特别是在直到比我们想要的要晚得多的时候,才真正的浏览器发现问题。理想情况下,我们希望使GWT编译器本身更快-一分钟的编译相当小的应用程序耗费了小费。但是,如果使用的是相当幼稚的方式,我们将使用编译方式,因此我希望我们可以快速轻松地获得收益。我们目前正在从ant Ant目标中调用com.google.gwt.dev.Compiler作为Java应用程序,最大堆内存为256m,并且有大量堆栈空间。Ant会使用fork = true和最新的Java 6 JRE启动该编译器,以尝试利用Java6的改进性能。我们将主控制器类与应用程序类路径一起传递给编译器,然后关闭。我们还能做什么以提高速度?我们可以给它更多的信息,以便花费更少的时间来发现要做的事情吗?我知道我们只能告诉它仅针对一个浏览器进行编译,但是我们需要进行多浏览器测试,因此这并不实际。此时欢迎所有建议。
3 回答
慕姐8265434
TA贡献1813条经验 获得超2个赞
如果使用-localWorkers标志运行GWT编译器,则编译器将并行编译多个置换。这使您可以使用多核计算机的所有内核,例如-localWorkers 2将告诉编译器并行编译两个排列。您不会得到数量级的差异(并非编译器中的所有内容都是可并行化的),但是如果您要编译多个置换,这仍然是明显的加速。
如果您愿意使用GWT的主干版本,则可以对任何浏览器使用托管模式(进程外托管模式),从而可以缓解当前大多数托管模式问题。这似乎是GWT的发展方向-始终以托管模式进行开发,因为编译不太可能获得更快的幅度。
添加回答
举报
0/150
提交
取消