Chromium Blog
News and developments from the open source browser project
New JavaScript techniques for rapid page loads
الأربعاء، 18 مارس 2015
Posted by Marja Hölttä and Daniel Vogelheim, Resident Loader Coders
Speed has always been one of Chrome's primary missions, ever since it was included as one of the
founding principles
in 2008. But speed is about more than just traditional Javascript benchmarks. Ideally
every
part of a user's interaction with a browser is fast, starting with loading web pages. Chrome is introducing two techniques called script streaming and code caching designed to reduce that painful waiting time spent staring at a white screen, especially on mobile devices.
Script streaming optimizes the parsing of JavaScript files. Previous versions of Chrome would download a script in full before beginning to parse it, which is a straightforward approach but doesn't fully utilize the CPU while waiting for the download to complete. Starting in version 41, Chrome parses
async and deferred scripts
on a separate thread as soon as the download has begun. This means that parsing can complete just milliseconds after the download has finished, and results in pages loading as much as 10% faster. It's particularly effective on large scripts and slow network connections.
Code caching is another new technique that helps speed up page loading, specifically on repeated visits to the same page. Normally, the V8 engine compiles the page’s JavaScript on every visit, turning it into instructions that a processor understands. This compiled code is then discarded once a user navigates away from the page as compiled code is highly dependent on the state and context of the machine at compilation time. Chrome 42 introduces an advanced technique of storing a local copy of the compiled code, so that when the user returns to the page the downloading, parsing, and compiling steps can all be skipped. Across all page loads, this allows Chrome to avoid about 40% of compile time and saves precious battery on mobile devices.
These are two examples of ways Chrome is improving page load time, but page load time is just one way to think about the performance of the browser. Stay tuned for more ways the Chromium project is pushing forward all aspects of performance on the web.
التسميات
$200K
1
10th birthday
4
abusive ads
1
abusive notifications
2
accessibility
3
ad blockers
1
ad blocking
2
advanced capabilities
1
android
2
anti abuse
1
anti-deception
1
background periodic sync
1
badging
1
benchmarks
1
beta
83
better ads standards
1
billing
1
birthday
4
blink
2
browser
2
browser interoperability
1
bundles
1
capabilities
6
capable web
1
cds
1
cds18
2
cds2018
1
chrome
35
chrome 81
1
chrome 83
2
chrome 84
2
chrome ads
1
chrome apps
5
Chrome dev
1
chrome dev summit
1
chrome dev summit 2018
1
chrome dev summit 2019
1
chrome developer
1
Chrome Developer Center
1
chrome developer summit
1
chrome devtools
1
Chrome extension
1
chrome extensions
3
Chrome Frame
1
Chrome lite
1
Chrome on Android
2
chrome on ios
1
Chrome on Mac
1
Chrome OS
1
chrome privacy
4
chrome releases
1
chrome security
10
chrome web store
32
chromedevtools
1
chromeframe
3
chromeos
4
chromeos.dev
1
chromium
9
cloud print
1
coalition
1
coalition for better ads
1
contact picker
1
content indexing
1
cookies
1
core web vitals
2
csrf
1
css
1
cumulative layout shift
1
custom tabs
1
dart
8
dashboard
1
Data Saver
3
Data saver desktop extension
1
day 2
1
deceptive installation
1
declarative net request api
1
design
2
developer dashboard
1
Developer Program Policy
2
developer website
1
devtools
13
digital event
1
discoverability
1
DNS-over-HTTPS
4
DoH
4
emoji
1
emscriptem
1
enterprise
1
extensions
27
Fast badging
1
faster web
1
features
1
feedback
2
field data
1
first input delay
1
Follow
1
fonts
1
form controls
1
frameworks
1
fugu
2
fund
1
funding
1
gdd
1
google earth
1
google event
1
google io 2019
1
google web developer
1
googlechrome
12
harmful ads
1
html5
11
HTTP/3
1
HTTPS
4
iframes
1
images
1
incognito
1
insecure forms
1
intent to explain
1
ios
1
ios Chrome
1
issue tracker
3
jank
1
javascript
5
lab data
1
labelling
1
largest contentful paint
1
launch
1
lazy-loading
1
lighthouse
2
linux
2
Lite Mode
2
Lite pages
1
loading interventions
1
loading optimizations
1
lock icon
1
long-tail
1
mac
1
manifest v3
2
metrics
2
microsoft edge
1
mixed forms
1
mobile
2
na
1
native client
8
native file system
1
New Features
5
notifications
1
octane
1
open web
4
origin trials
2
pagespeed insights
1
pagespeedinsights
1
passwords
1
payment handler
1
payment request
1
payments
2
performance
20
performance tools
1
permission UI
1
permissions
1
play store
1
portals
3
prefetching
1
privacy
2
privacy sandbox
4
private prefetch proxy
1
profile guided optimization
1
progressive web apps
2
Project Strobe
1
protection
1
pwa
1
QUIC
1
quieter permissions
1
releases
3
removals
1
rlz
1
root program
1
safe browsing
2
Secure DNS
2
security
36
site isolation
1
slow loading
1
sms receiver
1
spam policy
1
spdy
2
spectre
1
speed
4
ssl
2
store listing
1
strobe
2
subscription pages
1
suspicious site reporter extension
1
TCP
1
the fast and the curious
28
TLS
1
tools
1
tracing
1
transparency
1
trusted web activities
1
twa
2
user agent string
1
user data policy
1
v8
6
video
2
wasm
1
web
1
web apps
1
web assembly
2
web developers
1
web intents
1
web packaging
1
web payments
1
web platform
1
web request api
1
web vitals
1
web.dev
1
web.dev live
1
webapi
1
webassembly
1
webaudio
3
webgl
7
webkit
5
WebM
1
webmaster
1
webp
5
webrtc
6
websockets
5
webtiming
1
writable-files
1
yerba beuna center for the arts
1
Archive
2026
مارس
2025
أكتوبر
يوليو
يونيو
مايو
يناير
2024
ديسمبر
أغسطس
يونيو
مايو
أبريل
مارس
فبراير
2023
نوفمبر
أكتوبر
سبتمبر
أغسطس
يونيو
مايو
أبريل
فبراير
2022
ديسمبر
سبتمبر
أغسطس
يونيو
مايو
أبريل
مارس
فبراير
يناير
2021
ديسمبر
نوفمبر
أكتوبر
سبتمبر
أغسطس
يوليو
يونيو
مايو
أبريل
مارس
فبراير
يناير
2020
ديسمبر
نوفمبر
أكتوبر
سبتمبر
أغسطس
يوليو
يونيو
مايو
أبريل
مارس
فبراير
يناير
2019
ديسمبر
نوفمبر
أكتوبر
سبتمبر
أغسطس
يوليو
يونيو
مايو
أبريل
مارس
فبراير
يناير
2018
ديسمبر
نوفمبر
أكتوبر
سبتمبر
أغسطس
يوليو
يونيو
مايو
أبريل
مارس
فبراير
يناير
2017
ديسمبر
نوفمبر
أكتوبر
سبتمبر
أغسطس
يوليو
يونيو
مايو
أبريل
مارس
فبراير
يناير
2016
ديسمبر
نوفمبر
أكتوبر
سبتمبر
أغسطس
يونيو
مايو
أبريل
مارس
فبراير
يناير
2015
ديسمبر
نوفمبر
أكتوبر
سبتمبر
أغسطس
يوليو
يونيو
مايو
أبريل
مارس
فبراير
يناير
2014
ديسمبر
نوفمبر
أكتوبر
سبتمبر
أغسطس
يوليو
يونيو
مايو
أبريل
مارس
فبراير
يناير
2013
ديسمبر
نوفمبر
أكتوبر
سبتمبر
أغسطس
يوليو
يونيو
مايو
أبريل
مارس
فبراير
يناير
2012
ديسمبر
نوفمبر
أكتوبر
سبتمبر
أغسطس
يوليو
يونيو
مايو
أبريل
مارس
فبراير
يناير
2011
ديسمبر
نوفمبر
أكتوبر
سبتمبر
أغسطس
يوليو
يونيو
مايو
أبريل
مارس
فبراير
يناير
2010
ديسمبر
نوفمبر
أكتوبر
سبتمبر
أغسطس
يوليو
يونيو
مايو
أبريل
مارس
فبراير
يناير
2009
ديسمبر
نوفمبر
سبتمبر
أغسطس
يوليو
يونيو
مايو
أبريل
مارس
فبراير
يناير
2008
ديسمبر
نوفمبر
أكتوبر
سبتمبر
Feed
Follow @ChromiumDev
Give us feedback in our
Product Forums
.