工程師分析:IE9 瀏覽器存在編譯優(yōu)化弊端

2010/11/20 13:10:20    編輯:Solidot     字體:【

Win7之家m.airtaxifl.com):工程師分析:IE9 瀏覽器存在編譯優(yōu)化弊端

Mozilla工程師Rob Sayre在SunSpider測(cè)試中,注意到IE9的表現(xiàn)有些詭異,在cordic測(cè)試中IE9的反應(yīng)幾乎即時(shí),他略微修改源代碼后它的速度就降了下來(lái),他為此向IE開(kāi)發(fā)團(tuán)隊(duì)遞交了Bug報(bào)告。當(dāng)然這并非之前所指責(zé)的作弊問(wèn)題,而是編譯優(yōu)化問(wèn)題

微軟在編譯IE9時(shí)進(jìn)行了優(yōu)化,但Sayre認(rèn)為此種優(yōu)化是十分脆弱的,僅僅稍微改動(dòng)代碼便使之無(wú)效。IE開(kāi)發(fā)者采用的是“無(wú)用代碼刪除”,一種十分常見(jiàn)的編譯優(yōu)化技巧,通過(guò)移除程序中無(wú)用的代碼加快運(yùn)行速度。以cordic為例,IE9是把該子項(xiàng)目當(dāng)成“無(wú)用代碼”整體略過(guò)。優(yōu)化雖然合法,但就測(cè)試以及真實(shí)世界的應(yīng)用而言完全無(wú)意義。Sayre認(rèn)為這種優(yōu)化有害無(wú)益。他認(rèn)為微軟的“無(wú)用代碼刪除”優(yōu)化可能對(duì)C#或Java等語(yǔ)言是合理的,但對(duì)JavaScrip的某些不常用功能是不合理的。