Přejít k navigační liště

Zdroják » Zprávičky » Oprava v testu SunSpider zlepší výsledek Firefoxu

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ň.

Komentáře

Subscribe
Upozornit na
guest
0 Komentářů
Inline Feedbacks
View all comments

Enum a statická analýza kódu

Mám jednu univerzální radu pro začínající programátorty. V učení sice neexistují rychlé zkratky, ovšem tuhle radu můžete snadno začít používat a zrychlit tak tempo učení. Tou tajemnou ingrediencí je statická analýza kódu. Ukážeme si to na příkladu enum.