Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Optimising Website Performance
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Thomas Stapleton
November 07, 2016
Technology
82
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Optimising Website Performance
Optimising Website Performance & Chrome Dev Tools
Thomas Stapleton
November 07, 2016
More Decks by Thomas Stapleton
See All by Thomas Stapleton
Optimising Webpage Performance
tomsta93
1
27
Other Decks in Technology
See All in Technology
NAB Show 2026 動画技術関連レポート / NAB Show 2026 Report
cyberagentdevelopers
PRO
0
160
MCP Appsを作ってみよう
iwamot
PRO
4
500
Building applications in the Gemini API family.
line_developers_tw
PRO
0
2.9k
日本 Fintech 未来予測レポート 2027〜2028年(オリジナル版)
8maki
0
1.4k
スキルと MCP ツール、責務をどう分けるか? AI が迷わないインターフェース設計の戦略
cdataj
1
930
Amazon Bedrock AgentCore ワークショップ JAWS UG TOHOKU / amazon-bedrock-agentcore-workshop-jawsug-tohoku-2026
gawa
9
640
「速く作る」から「正しく作る」へ ─ 生成AI時代の開発フロー改革の ロードマップと実行 ─
starfish719
0
9.8k
失敗を経て、Harness Engineering で 大切にしたいことを考える / Learning from Failure: What Matters in Harness Engineering
bitkey
PRO
1
290
AI-DLCを活用した高品質・安全なAI駆動開発実践 / AI Driven Development with AI-DLC
yoshidashingo
0
170
Agent Skills設計で柔軟性と硬さのバランスが難しい話
nassy20
0
120
生成 AI × MCP で切り拓く次世代 SRE!自律型運用への挑戦と開発者体験の進化
_awache
0
190
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.5k
Featured
See All Featured
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
600
Un-Boring Meetings
codingconduct
0
310
Faster Mobile Websites
deanohume
310
31k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
The Pragmatic Product Professional
lauravandoore
37
7.3k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
Design in an AI World
tapps
1
240
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
RailsConf 2023
tenderlove
30
1.5k
Technical Leadership for Architectural Decision Making
baasie
3
400
Transcript
Optimising Website Performance By Thomas Stapleton @tomsta93
Web Performance • How Fast does your webpage load •
How Fast can a user interact with the page • How Fast does the application respond
Client Side Optimisation “If your application is slow, people won’t
use it.” - Fred Wilson • Versioning (fingerprint) assets • Compress and minify files
Client Side Optimisation • Minify HTML • Only load critical
content server side • Use async templates for non-critical components • Make sure your HTML is valid
Client Side Optimisation • Minify CSS (PostCSS -> cssnano) •
Bundle common SCSS/LESS into one stylesheet • Inline styles used for critical/non-critical components • Make sure your CSS is valid
Client Side Optimisation • Minify JavaScript • Remove blocking JavaScript
• Use a module loader • Make sure your JavaScript is versioned (fingerprinted)
Client Side Optimisation • Only load scripts if they are
required on the page • JavaScript bundles help… but don’t bundle everything • Use DRY, KISS & SOLID principles • Inline JavaScript if necessary
Client Side Optimisation • Upload onto CDN if available •
Version (image-v1.jpg) • Optimise images on upload (CMS) • Lazy Load images below window.innerHeight • Use SVGs where appropriate
Client Side Optimisation • Blocking fonts slow page speed •
Load fonts async • Avoid FOUT, FOIT, FOFT • Use only two fonts and two weights of each
Serving Static Assets • If you’re using HTTPS, enable HTTP2
• Two way proxy • Proxy cache • Correct headers e.g. e-tags, gzip, expiry
Serving Static Assets Headers are important, make sure they’re set.
X-* Headers are custom and like data- for HTML attributes
Serving Static Assets Before After
Proxy Cache 10x Faster! • Time Taken: 1s > 0.1s
• Individual Requests:10ms > 1ms • Transfer Rate: 38.6kb > 393.4kb Respond with 1000 304 requests a second
Navigation Timing API (W3C)
Navigation Timing API (W3C) HTML Parsing Complete 500 milliseconds
Navigation Timing API (W3C) Interaction 700 milliseconds
Navigation Timing API (W3C) Page Load 1 second
Developer Tools Get familiar with all types of developer tools
you may need to use them one day!
Chrome Developer Tools Build with HTML, CSS and JavaScript and
arguable the most used and best developer tools in any browser to date.
Overview • Elements - DOM nodes • Console - Errors
& logging • Sources - Downloaded files, snippets & debugging • Network - Latency & requests • Timeline - Time to first paint & processing • Profiles - Memory & execution time • Application - Cached files & browser data stores • Audits - Recommendations for network & performance improvements
• Elements - DOM nodes • Console - Errors &
logging • Sources - Downloaded files, snippets & debugging Overview • Network - Latency & requests • Timeline - Time to first paint & processing • Profiles - Memory & execution time • Application - Cached files & browser data stores • Audits - Recommendations for network & performance improvements Outline performance issues
Network • See screenshots of progress • Replicate connection speed
• Network queue overview • Protocol Type • Status • DOMContentLoaded • Load time • Breakdown of request processes
Timeline • Paint times • FPS • JS Evaluating &
Execution • Summary • Memory • Event Listeners
Time to First Paint • A white page can be
a valid ‘time to first paint’. • Large amounts of JavaScript execution blocking paint render. • The above is cause by poor code executing on scrolling.
Profiles • Function Execution Times • Memory Allocation • Memory
Usage & Monitoring • Direct JavaScript Function Monitoring
Application • Service Workers • Data/Web Stores • Sessions •
Cache
Service Workers https://www.youtube.com/watch?v=Cjo9iq8k-bc (jakearchibald.com 2016)
Questions Thank you for your time, any questions? WHO’S AWESOME?
You’re Awesome!
Useful Links • https://developers.google.com/web/fundamentals/performance/critical-rendering- path/measure-crp • https://docs.google.com/document/d/ 18GmrZjkpA8fxmCehjgMUg2_ujQs04a7RXlm7m_YcxVM/mobilebasic • https://jakearchibald.com/2016/streams-ftw/#creating-one-stream-from-multiple-
sources-to-supercharge-page-render-times • https://w3c.github.io/ServiceWorker/ • https://developers.google.com/web/fundamentals/performance/ • http://techblog.netflix.com/2015/08/making-netflixcom-faster.html • https://www.webpagetest.org/ • https://tools.pingdom.com/
References • https://www.w3.org/TR/navigation-timing/timing- overview.png • https://jakearchibald.com/2016/streams-ftw/ • https://www.w3.org/TR/service-workers/#cache