Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
WEB Performance Optimization
Search
Māris Cīlītis
November 27, 2014
Programming
79
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
WEB Performance Optimization
Māris Cīlītis
November 27, 2014
Other Decks in Programming
See All in Programming
最近”作らせてる” ローカルAIアプリの話
akit37
0
470
dotNET_vulnclicker_intro.pdf
deka_morita
0
140
The Rails Doctrine Decade
koic
2
590
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
790
なぜCTOを降りてFDEを選んだのか?〜なぜプロダクト企業がFDEで顧客の現場に踏み込むのか〜
gonta
1
210
phperだってパンチカードでコーディングしたい
o0h
PRO
0
330
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
2
540
Web Framework Benchmark Battle 2026, Any%
a_matsuda
2
2k
[Dev Group Paris Octobre 26] Agentforce, SIforce, Claudeforce, Slackbot… on s'y retrouve ?
nabondance
0
110
sbt 2.0: takeoff
eed3si9n
0
160
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
8.5k
AIに “答え“を書かせるのを やめてみた
___akari11
0
120
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
How STYLIGHT went responsive
nonsquared
100
6.3k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
630
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
Designing for Timeless Needs
cassininazir
1
530
Automating Front-end Workflow
addyosmani
1369
210k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
540
Balancing Empowerment & Direction
lara
6
1.3k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
710
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
550
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
Transcript
WEB Performance optimization Maris Cilitis www.ithouse.cc
Critical Rendering Path DOM -> CSSOM -> Render tree ->
Layout -> Paint
Tokenizer start tag / end tag
<html> <head> </head> <body> </body> </html>
Incremental HTML delivery
CSSOM • Render Blocking • More specific rule is more
costly (p{} < div p {}) • Selective matching is not the performance bottleneck in most cases • Measure First, Optimize Second
You cannot optimize what you cannot measure
Viewport browser’s default 980px
<meta name=“viewport” content=“width=device-width”/>
Render tree == DOM + CSSOM
None
Scope styles using media queries
<link rel=“stylesheet” src=“style.css”/> <link rel=“stylesheet” src=“print.css”/> <link rel=“stylesheet” src=“style.css”/> <link
rel=“stylesheet” src=“print.css” media=“print”/>
JS
JS == parsing blocking
JS runs only when browser downloads CSS
CSS blocks rendering and JS blocks execution
async <script type=“javascript” src=“http://…” async />
async doesn’t block CRP
Optimization strategies
Minify (minimize bytes)
Compress
Cache
Inline CSS (reduce number of critical resources)
Minimize parsing blocking resources
Delay JS execution
Use async
use small files <= 14 KB
Browsers have preload scanner
Preload scanner fetches parsing blocking scripts while it downloads the
CSS
Tools • Chrome developer tools (CMD + Option + I)
• Page Speed Insights
Measure First, Optimize Second
Maris Cilitis @princeoflatvia