Strona główna
>
Newsy
>
Chrome Craftshaft: 100 razy szybciej, niż IE dwa lata temu, czyli inteligentna optymalizacja JavaScriptu od Google
"Chrome Craftshaft: 100 razy szybciej, niż IE dwa lata temu, czyli inteligentna optymalizacja JavaScriptu od Google". |
2010-12-09 |
Google ogłosiło wpowadzenie nowej funkcji o nazwie Craftshaft, która zajmuje się optymalizacją kodu JS w obszarach intensywnie używanych. W efekcie szybkość działania aplikacji korzystających z oprogramowania po stronie klienta ma wzrosnąć nawet o kilkanaście procent. Testy ?laboratoryjne? nie wykazują różnic, ale na pierwszy rzut oka Gmail działa szybciej.
Wiceprezes zarządzania produktami w Google, Sundar Pinchai, ogłosił aktualizację do przeglądarki Chrome o nazwie Craftshaft.
Ulepszenie jest dostępne w bardzo wczesnej, "kanarkowej" wersji dla procesorów 32 bitowych. Trwają również prace nad wersją dla ARM i systemów 64 bitowych.
Według Pincai aktualizacja sprawia, że coś, co wcześniej zajmowało minutę, teraz zajmuje sekundę, a przeglądarka jest sto razy szybsza niż Internet Explorer w 2008 roku.
Ulepszenie szczególnie poprawia:
Według zapewnień firmy przyspiesza tym samym uruchamianie aplikacji internetowych, takich jak Gmail, a według testów strony mają ładować się teraz o 12% szybciej, gdy zawierają znaczące ilości JavaScriptu.
Craftshaft uzyskuje takie efekty dzięki dobremu rozpoznaniu, które fragmenty kodu są wykonywane często i optymalizowaniu ich, pozostawiając mało używane części niezoptymalizowanymi.
Kompilator kodu w Chrome ma być według firmy dwa razy szybszy i generować 30% mniej kodu niż kompilator z bety Chrome 9. Profiler rozpoznaje intensywnie używane fragmenty aplikacji i rekompiluje je z flagami, które w znacznym stopniu poprawiają wydajność - rozmieszczają rekordy dostosowane do liniowego odczytu, zastępują wywołania funkcji w pętli jej treścią i wyciągają przed pętlę niezmienniki.
Są to potężne optymalizacje, które do niedawna programista chcący osiągnąć dużą wydajność musiał wykonać sam. Teraz dba o to nowy kompilator.
Z drugiej strony optymalizacje wymagają też określonego czasu na wykonanie. Dlatego przeglądarka rozpoznaje, kiedy nie warto wprowadzać ulepszeń i nie ulepsza kodu, który nie jest wykonywany często, w efekcie zawsze stawiając na większe korzyści niż straty.
Google zastrzega, że w efekcie nie będzie widać różnicy w typowych testach szybkości jak SunSpider i niestety tak jest.
Według redakcyjnego testu wykonanego SunSpider 0.9.1 czas wykonania zmienił się z 1119 ms do 1057 ms albo do 1167 ms. Rozrzut o -5% do +16% potwierdza, że ulepszenia, chociaż istotne, nie znajdą odzwierciedlenia w teście. Nie posiada on bowiem scenariusza badającego realnie występujące w kodach aplikacji sytuacje, które są adresowane przez nowe zmiany.
Różnicę faktycznie można jednak odczuć podczas korzystania z Gmaila. Czas ładowania się aplikacji spadł w teście redakcyjnym o 10%. Z kolei korzystanie z aplikacji również wydaje się być szybsze. Aktualizacja podnosi więc responsywność interfejsu.
źródło: Theregister.co.uk