Завдяки цим змінам Chrome 91 пропонує на 23% більшу продуктивність

Google нещодавно випустив Chrome 91 на стабільному каналі, і він пропонує на 23% швидшу роботу завдяки змінам, згаданим у публікації.

Google нещодавно випущений Chrome 91 на стабільному каналі. Оновлення представило безліч змін, зокрема оновлені елементи керування формами, підтримку режиму робочого столу за замовчуванням на пристроях із великим екраном, покращення API доступу до файлової системи тощо. Оновлення також прийшло з безліччю покращень продуктивності, і тепер Google виявив, що останнє оновлення робить Chrome на 23% швидшим, ніж попередній випуск.

В останній пост на Блог Chromium, менеджер із продуктів Chrome Томас Наттестад повідомив, що Chrome 91 тепер на 23% швидше завдяки запуску a новий компілятор Sparkplug і вбудовані короткі дзвінки, заощаджуючи понад 17 років процесорного часу наших користувачів щодня!" У дописі пояснюється, що Sparkplug — це новий компілятор JavaScript, який "заповнює прогалину між необхідністю швидко почати виконання та оптимізацією коду для досягнення максимальної продуктивності".

Короткі вбудовані дзвінки, з іншого боку, оптимізують "куди в пам'ять ми поміщаємо згенерований код, щоб уникнути непрямих переходів під час виклику функцій."

Механізм Chrome V8 містить кілька компіляторів, які роблять різні компроміси на різних етапах виконання JavaScript. Новий компілятор Sparkplug забезпечує баланс між дворівневою системою компілятора двигуна — запалюванням і турбовентилятором -- для створення рідного машинного коду незалежно від інформації, зібраної під час виконання JavaScript код. Завдяки цьому воно "швидко починає виконуватись, водночас генеруючи відносно швидкий код", тим самим покращуючи продуктивність.

Short builtins — це новий механізм, який допомагає двигуну V8 оптимізувати розміщення згенерованого коду в пам’яті. «Коли V8 генерує специфічний для ЦП код із JavaScript, він розміщує цей код у пам’яті. Цей згенерований код часто викликає вбудовані функції, які є невеликими фрагментами коду для обробки звичайних процедур --все, від базових операцій, таких як додавання двох змінних, до повноцінних функцій у стандарті JavaScript бібліотека. Для деяких процесорів виклик функцій, розташованих далі від згенерованого коду, може спричинити збій внутрішньої оптимізації процесора (наприклад, логіки передбачення розгалуження). Виправленням цього є копіювання вбудованих функцій у ту саму область пам’яті, що й згенерований код," додає пост. Крім того, зазначається, що ця зміна має покращити продуктивність Chrome на чіпі Apple M1.

Щоб дізнатися більше про ці підвищення продуктивності, перегляньте Chrome Допис у блозі V8.