Oprava v testu SunSpider zlepší výsledek Firefoxu

Psaní objektivních srovnávacích testů je velmi pracný úkol, a proto je dobře, když si jednotliví výrobci prohlížečů připravují testy vlastní a mohou výsledky mezi nimi porovnávat. O obtížnosti úkolu se nedávno přesvědčili i tvůrci javascriptového testu SunSpider.

David Mandelin z Mozilla Corporation zkoumal, proč je Firefox pomalejší v testu regexp-dna oproti WebKitu (resp. jeho javascriptovému engine SquirrelFish Extreme). Při srovnávání implementací přišel na to, že test u stěžejní metody .replace(string1, string2, "g") používá přepínač „g“ pro globální záměnu, který není součástí standardu, WebKit jej nepodporuje, ale SpiderMonkey (javascriptový engine Firefoxu) ano. Ve výsledku tak Firefox provádí během testu složitější operaci než WebKit, což vlastní porovnání degraduje. Chyba byla nahlášena a opravena (ve veřejném testu je zatím ještě starší verze).

Nelze předpokládat, že by měla dramatický vliv na výsledek celého testu SunSpider (ten se skládá z 26 různých testů), ovšem v době, kdy souboj prohlížečů o nejrychlejší javascriptový engine vrcholí, můžou hrát roli i malá procenta. Příklad ukazuje, že ani testy nemusí být bez chyby a je třeba brát je z rezervou a nejlépe porovnávat výsledky v několika nezávislých testech zároveň.

Martin Hassman založil a vede magazín Zdroják. Absolvoval VŠCHT Praha. Byl u založení projektu CZilla (dnes už nepamatujete, nevadí). Stavěl mosty a metal cestu pro HTML5 (to tu ještě máme). V GUG.cz organizoval akce pro vývojáře (a jestli neumřeli, kódují si dodnes…).

Zatím nebyl přidán žádný komentář, buďte první!

Přidat komentář
Zdroj: https://www.zdrojak.cz/?p=92