jsperf.com

Наскоро открих много интересен tool за изчисляване и сравняване на бързодействието на парчета код в JavaScript. Супер полезно, ако имаш няколко сравнително еднакви метода/процеса и се чудиш кой да ползваш.

https://jsperf.com/

Изключително лесен за ползване, като е нужен github акаунт за логин.

Е, има си някакви недостатъци, като например това: Опитах да преименувам моя test case и изведнъж той изчезна, при което видях, че съм ъпдейтнала друг проект със същото име. Не рових за повече проблеми, че сигурно има, но това не е толкова важно! Все пак е за технически грамотни лица, нормално е да се пропусне някоя и друга валидация. Но беше досадно, че трябваше да почна отначало.

Моят тест:

https://jsperf.com/comparing-basic-for-loops

Елементарен е, просто реших да сравня работата на 3 типа синтаксис на цикъла for: for, .ForEach, for..in.

Резултатите са доста интересни. Мислих си, че разликата ще е нищожна и супер оспорвана, а се оказа, че не е точно така:

Класическия синтаксис for ([initialization]; [condition]; [final-expression]) печели с цели ~18 операции за секунда. Срещу само ~5 за .ForEach и ~2 за for..in (който, по някаква причина, аз очаквах да е най-бърз).

Интересно е също и че резултатите са различни в различните браузъри. Горния пример е от Chrome.
В Mozilla нещата стоят по следния начин:

В Edge положението е най-зле, дори по-зле от Internet Explorer 11:

Edge:

IE11:

Разбира се пуснах тестовете по няколко пъти. Резултатите са почти идентични, но въпреки малките разлики – класацията остава същата.

1 Comment

  • Супер якото, благодаря, че го сподели!

Leave a Reply