Dzięki tym zmianom Chrome 91 oferuje do 23% większą wydajność

Google niedawno wypuściło przeglądarkę Chrome 91 w wersji stabilnej, która oferuje o 23% większą wydajność dzięki zmianom wspomnianym w poście.

Google niedawno wdrożony Chrome 91 na stabilnym kanale. Aktualizacja wprowadziła wiele zmian, w tym ulepszone kontrolki formularzy, obsługę domyślnego trybu pulpitu na urządzeniach z dużym ekranem, ulepszenia interfejsu API dostępu do systemu plików i nie tylko. Aktualizacja wniosła także szereg ulepszeń wydajności, a Google ujawniło, że najnowsza aktualizacja sprawia, że ​​Chrome jest nawet o 23% szybszy niż poprzednia wersja.

W ostatni post na Blog o Chromie, menedżer produktu Chrome Thomas Nattesad ujawnił, że przeglądarka Chrome 91 „jest teraz do 23% szybszy dzięki uruchomieniu aplikacji nowy kompilator Sparkplug I krótkie wbudowane wywołania, oszczędzając każdego dnia ponad 17 lat czasu procesora naszych użytkowników!” W poście wyjaśniono, że Sparkplug to nowy kompilator JavaScript, który „wypełnia lukę pomiędzy koniecznością szybkiego rozpoczęcia wykonywania a optymalizacją kodu w celu uzyskania maksymalnej wydajności”.

Z drugiej strony krótkie wbudowane wywołania optymalizują „gdzie w pamięci umieszczamy wygenerowany kod, aby uniknąć pośrednich skoków podczas wywoływania funkcji.”

Silnik Chrome V8 zawiera wiele kompilatorów, które dokonują różnych kompromisów na różnych etapach wykonywania JavaScript. Nowy kompilator Sparkplug zapewnia równowagę pomiędzy dwupoziomowym systemem kompilatora silnika – Ignition i Turbofan -- do generowania natywnego kodu maszynowego bez uzależnienia od informacji zebranych podczas wykonywania JavaScript kod. Z tego powodu „zaczyna wykonywać się szybko, jednocześnie generując stosunkowo szybki kod”, poprawiając w ten sposób wydajność.

Krótkie wbudowane pliki to nowy mechanizm, który pomaga silnikowi V8 optymalizować lokalizację w pamięci wygenerowanego kodu. „Kiedy V8 generuje kod specyficzny dla procesora z JavaScript, umieszcza ten kod w pamięci. Wygenerowany kod będzie często wywoływał funkcje wbudowane, które są małymi fragmentami kodu służącymi do obsługi typowych procedur --wszystko, od podstawowych operacji, takich jak dodanie dwóch zmiennych, po pełnoprawne funkcje w standardzie JavaScript biblioteka. W przypadku niektórych procesorów wywoływanie funkcji znajdujących się dalej od wygenerowanego kodu może spowodować niepowodzenie wewnętrznych optymalizacji procesora (takich jak logika przewidywania rozgałęzień). Rozwiązaniem tego problemu jest skopiowanie wbudowanych funkcji do tego samego obszaru pamięci, w którym znajduje się wygenerowany kod.” – dodaje post. Zauważa ponadto, że ta zmiana powinna poprawić wydajność przeglądarki Chrome na chipie Apple M1.

Aby dowiedzieć się więcej o tych ulepszeniach wydajności, sprawdź przeglądarkę Chrome Wpis na blogu V8.