我們開始在我們的項(xiàng)目中大量使用GWT,并且GWT編譯器的性能變得越來越令人討厭。我們將開始改變工作方式以緩解該問題,其中包括更加強(qiáng)調(diào)托管模式瀏覽器,這使運(yùn)行GWT編譯器的需求推遲到以后,但這會(huì)帶來自身的風(fēng)險(xiǎn),特別是在直到比我們想要的要晚得多的時(shí)候,才真正的瀏覽器發(fā)現(xiàn)問題。理想情況下,我們希望使GWT編譯器本身更快-一分鐘的編譯相當(dāng)小的應(yīng)用程序耗費(fèi)了小費(fèi)。但是,如果使用的是相當(dāng)幼稚的方式,我們將使用編譯方式,因此我希望我們可以快速輕松地獲得收益。我們目前正在從ant Ant目標(biāo)中調(diào)用com.google.gwt.dev.Compiler作為Java應(yīng)用程序,最大堆內(nèi)存為256m,并且有大量堆棧空間。Ant會(huì)使用fork = true和最新的Java 6 JRE啟動(dòng)該編譯器,以嘗試?yán)肑ava6的改進(jìn)性能。我們將主控制器類與應(yīng)用程序類路徑一起傳遞給編譯器,然后關(guān)閉。我們還能做什么以提高速度?我們可以給它更多的信息,以便花費(fèi)更少的時(shí)間來發(fā)現(xiàn)要做的事情嗎?我知道我們只能告訴它僅針對一個(gè)瀏覽器進(jìn)行編譯,但是我們需要進(jìn)行多瀏覽器測試,因此這并不實(shí)際。此時(shí)歡迎所有建議。
3 回答

慕姐8265434
TA貢獻(xiàn)1813條經(jīng)驗(yàn) 獲得超2個(gè)贊
如果使用-localWorkers標(biāo)志運(yùn)行GWT編譯器,則編譯器將并行編譯多個(gè)置換。這使您可以使用多核計(jì)算機(jī)的所有內(nèi)核,例如-localWorkers 2將告訴編譯器并行編譯兩個(gè)排列。您不會(huì)得到數(shù)量級的差異(并非編譯器中的所有內(nèi)容都是可并行化的),但是如果您要編譯多個(gè)置換,這仍然是明顯的加速。
如果您愿意使用GWT的主干版本,則可以對任何瀏覽器使用托管模式(進(jìn)程外托管模式),從而可以緩解當(dāng)前大多數(shù)托管模式問題。這似乎是GWT的發(fā)展方向-始終以托管模式進(jìn)行開發(fā),因?yàn)榫幾g不太可能獲得更快的幅度。
添加回答
舉報(bào)
0/150
提交
取消