З вялікай верагоднасцю Internet Explorer 9 несумленны пры мінанні тэстаў на прадукцыйнасць. Як паказаў аналіз Hacker News, паводзіны IE9 у цесцю SunSpider (выкарыстоўваецца для аналізу хуткадзейнасці пры апрацоўцы JavaScript) цяжка растлумачыць чымсьці акрамя наўмыснай або ненаўмыснай аптымізацыі браўзэра адмыслова для гэтага тэсту.
Адна з складнікаў комплекснага тэсту SunSpider - cordic - праходзіцца IE істотна (у 10 раз) хутчэй, чым іншымі браўзэрамі. Гэта выклікала падазроны ў даследнікаў, і падазроны апынуліся не марнымі. Пры ўключэнні ў код тэсту аператараў, якія ніяк не павінны былі ўплываць на яго выкананне, IE9 стаў працаваць на ім павольней, прычым не на некалькі адсоткаў, а больш за на парадак. Выйграваючы на арыгінальным цесцю ў Google Chrome і Opera у 7-9 раз, пасля змен ён стаў прайграваць у 2-3 разу. Існуе два магчымых тлумачэння такіх вынікаў. Першае - гэта выпадковая або наўмысная аптымізацыя працы браўзэра пэўна пад SunSpider. Выпадковая аптымізацыя магчымая ў тым выпадку, калі ўсярэдзіне кампаній гэтыя тэсты выкарыстоўваліся падчас распрацовак для адзнакі якасці выніку. Другая магчымасць - і менавіта так растлумачылі якое адбылося ў Microsoft - гэта праца модуля, выняткоўвалага бескарысны код. Гэты модуль у javascript-рухавічку IE займаецца тым, што аналізуе код і адмаўляецца ад выканання той часткі, якая не прадукуе ніякіх вынікаў. Увесь тэст cordic па сваёй ісце і з'яўляўся такім кодам, паколькі шматкроць якая запускаецца ў ім функцыя, нічога не вяртала, значэнняў ніякіх глабальных зменных не мяняла і карыстацкай высновы не мела. Занесеныя змены «заблыталі» аналізатар (хоць прынамсі адно з іх не павінна было гэтага зрабіць). Калі так (а гэтая версія выглядае нават больш верагоднай), гэта не адмяняе штучнасці вынікаў IE9 у цесцю: аналізатар «пустога» кода, які працуе гэтак нестабільна ў практычных прыкладаннях, варта лічыць непрацуючым зусім.
Internet Explorer 9: добрыя тэсты - вынік зману або памылкі
19 лістапада 2010
Каментароў (0)