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
Deconstructing Performance
Search
Denys Mishunov
April 10, 2017
Technology
4
740
Deconstructing Performance
As presented at Smashing Conference, San Francisco 2017
Denys Mishunov
April 10, 2017
Tweet
Share
More Decks by Denys Mishunov
See All by Denys Mishunov
debugger; for developers
mishunov
1
550
Deconstructing Performance
mishunov
2
550
Why Performance Matters
mishunov
2
920
В погоне за производительностью
mishunov
0
280
Illusion of Time [JSConfEU 2015 edition]
mishunov
1
160
Illusion of Time. When 60 sec is not 1 minute
mishunov
0
130
Научный Дизайн
mishunov
0
260
Let me tell you a story
mishunov
0
110
Science of Design 2
mishunov
5
720
Other Decks in Technology
See All in Technology
「伝える」を加速させるCursor術
naomix
0
310
Java で学ぶ 代数的データ型
ysknsid25
2
1.2k
Digitization部 紹介資料
sansan33
PRO
1
4k
これならできる!Kotlin・Spring・DDDを活用したAll in oneのマイクロサービス開発術
demaecan
0
130
Information Architecture Recommoning: How Standardization Enables Differentiation
angioia
0
170
組織とセキュリティ文化と、自分の一歩
maimyyym
3
1.4k
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
6.2k
Java 30周年記念! Javaの30年をふりかえる
skrb
4
2.7k
Tenstorrent 開発者プログラム
tenstorrent_japan
0
210
20250514_未経験から Fintech実務参画まで。学生エンジニアの挑戦録
hideto1008
0
880
Data Hubグループ 紹介資料
sansan33
PRO
0
1.8k
Test Smarter, Not Harder: Achieving Confidence in Complex Distributed Systems
eliasnogueira
1
130
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
How GitHub (no longer) Works
holman
314
140k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.7k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
15
900
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
42
2.4k
RailsConf 2023
tenderlove
30
1.1k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
What's in a price? How to price your products and services
michaelherold
245
12k
Practical Orchestrator
shlominoach
188
11k
Transcript
Deconstructing DENYS MISHUNOV • DIGITAL GARDEN AS • @mishunov
PTDBSHPDPN ,FWJO8JOUFS(FUUZ*NBHFT ,FWJO8JOUFS(FUUZ*NBHFT ,FWJO8JOUFS(FUUZ*NBHFT
HPPHMSUD6)
None
2003 2005 2007 2009 2011 2013 2015 "7&3"(&#:5&4 1&31"(& 93,7
kB 2569 kB IUUQHPPHMRKNVN
-0"%*/(5*.& &70-65*0/ 1999 2006 2012 2017 IUUQHPPHMRKNVN 8 s 4
s 2 s 1 s 2569 kB
T DPOWFSTJPὝ T SFWFOVF
.0#*-&53"/4"$5*0/4 4637&: Harris Interactive for Tealeaf, 2011
$634&% BUUIFJSEFWJDF #*@%! .0#*-&53"/4"$5*0/4 4637&:
4$3&".&% BUUIFJSEFWJDF .0#*-&53"/4"$5*0/4 4637&:
5)3&8 UIFJSEFWJDF .0#*-&53"/4"$5*0/4 4637&:
1&01-& )"5& 8"*5*/(
IUUQTHPPHMDE2$& NJMMJPOT 8.143s 14.200s > 15.013s
1&3'3."/$& JTOPU ."5)&."5*$4
1&3'3."/$& JT 1&3$&15*0/
None
14:$)0-0(*$"- 1&3'03."/$& 015*.*4"5*0/
None
None
+/% KVTUOPUJDFBCMFEJ⒎FSFODF 8&#&3'&$)/&3-"8
36-& &7&/5
.&"/*/('6- /05*$&"#-& !==
OPTION 1 OPTION 2 1FSGPSNBODF ."55&34 SMASHING CONFERENCE BCTPMVUFOVNCFSTEPO`U OPTION
3 1FSGPSNBODF ."55&34 SMASHING CONFERENCE BCTPMVUFOVNCFSTEPO`U 1FSGPSNBODF ."55&34 SMASHING CONFERENCE BCTPMVUFOVNCFSTEPO`U
OPTION 1 OPTION 2 1FSGPSNBODF ."55&34 SMASHING CONFERENCE BCTPMVUFOVNCFSTEPO`U OPTION
3 1FSGPSNBODF ."55&34 SMASHING CONFERENCE BCTPMVUFOVNCFSTEPO`U 1FSGPSNBODF ."55&34 SMASHING CONFERENCE BCTPMVUFOVNCFSTEPO`U і і і
None
36-&
&7&/5 REGRESSION ALLOWANCE 36-&
None
None
5*.&QFSTJTUTNFSFMZBTB DPOTFRVFODFPGUIF&7&/54 UBLJOHQMBDFJO<TQBDF> Martin Heidegger t u
1"44*7& "$5*7&
1"44*7& "$5*7&
1"44*7& "$5*7&
14:$)0-0(*$"-1&3'03."/$&015*.*4"5*0/ PASSIVE ACTIVE
1"44*7& 1)"4&
1"44*7& 1)"4&
"$5*7& 1)"4& 7JEFPTPVSDFIUUQSFZLKBWJLTJHIUTFFJOHJT
015*.*45*$6*
1-3% 97-99% 4 6 $ $ & 4 4 '
" * - 6 3 &
$-*$,.& 015*.*45*$6*
✔ 015*.*45*$6*
"1* ✔ 015*.*45*$6*
"1* ✔ error 0).:ʜ 015*.*45*$6*
015*.*45*$6*
015*.*45*$6*
015*.*45*$6*
MJOLSFMlʜISFGlʜ IUUQTXXXXPSH538%SFTPVSDFIJOUT 3&4063$&)*/54
SFMlEOTQSFGFUDIz SFMlQSFDPOOFDUz SFMlQSFGFUDIz SFMlQSFSFOEFSz SFMlQSFMPBEzBTlUZQFz IUUQHPPHM,LR+%
SFMlEOTQSFGFUDIz SFMlQSFDPOOFDUz SFMlQSFGFUDIz SFMlQSFSFOEFSz SFMlQSFMPBEzBTlUZQFz IUUQHPPHM,LR+%
HPPHMRKNVN
$3*5*$"-1"5)
$3*5*$"-1"5) $0/5&/5 +4 +4 *.( )5.- $44 $44 +4 +4
*.( *.(
$3*5*$"-1"5) $0/5&/5 +4 +4 *.( )5.- $44 $44 *.( *.(
+4
14:$)0-0(*$"-1&3'03."/$&015*.*4"5*0/ PASSIVE ACTIVE
HPPHM[G$-IT
None
None
None
… a couple of hours SURE! ,FWJO8JOUFS(FUUZ*NBHFT
LA LA WEB The Performance Experiment
LA LA WEB The Performance Experiment DISCLAIMER: This experiment contains
copyrighted material. The material is provided for non- profit educational purposes, comments, criticismsm and research. This should constitute a “fair use” of any such copyrighted material as provided for in §107 of the U.S. Copyright Act.
None
A COUPLE OF HOURS (REALLY) (REALLY) NO CHANGES TO FUNCTIONALITY
CONSTRAINTS PRIORITISE PERCEPTION
PASSIVE
PASSIVE
PASSIVE ACTIVE
WAITS FOR ALL ASSETS/SECTIONS REASONS
WAITS FOR ALL ASSETS/SECTIONS
SOLUTION
CRITICAL RENDERING PATH OPTIMISATION SOLUTION
CRITICAL
LA LA LAND HTML CSS IMAGES FONTS
LA LA LAND HTML
LA LA LAND HTML…………………MINIFIED
LA LA LAND CSS CSS HTML…………………MINIFIED
LA LA LAND MAIN CSS HTML…………………MINIFIED CSS………INLINE CRITICAL
LA LA LAND FONTS MAIN CSS HTML…………………MINIFIED CSS………INLINE CRITICAL
LA LA LAND MAIN CSS 6 FONTS FONTS………….3 (PRELOAD) HTML…………………MINIFIED
CSS………INLINE CRITICAL
LA LA LAND MAIN CSS 6 FONTS IMAGES FONTS………….3 (PRELOAD)
HTML…………………MINIFIED CSS………INLINE CRITICAL
LA LA LAND MAIN CSS 6 FONTS IMAGES…………OPTIMISED FONTS………….3 (PRELOAD)
HTML…………………MINIFIED CSS………INLINE CRITICAL
LA LA LAND MAIN CSS 6 FONTS IMAGES…………OPTIMISED + RESOURCE
HINTS FONTS………….3 (PRELOAD) HTML…………………MINIFIED CSS………INLINE CRITICAL
LA LA LAND MAIN CSS 6 FONTS IMAGES…………OPTIMISED + RESOURCE
HINTS CACHING FONTS………….3 (PRELOAD) HTML…………………MINIFIED CSS………INLINE CRITICAL
LA LA LAND JS MAIN CSS 6 FONTS + RESOURCE
HINTS CACHING IMAGES…………OPTIMISED FONTS………….3 (PRELOAD) HTML…………………MINIFIED CSS………INLINE CRITICAL
LA LA LAND JS MAIN CSS 6 FONTS <script async
defer src=“defered.js"> </script>
LA LA LAND JS MAIN CSS 6 FONTS <script async
defer src=“defered.js"> </script> + PREFETCH + PREFETCH
LA LA LAND JS MAIN CSS 6 FONTS <script async
defer src=“defered.js"> </script> + PREFETCH + PREFETCH + PRELOAD + PRELOAD
+ RESOURCE HINTS CACHING IMAGES…………OPTIMISED FONTS………….3 (PRELOAD) HTML…………………MINIFIED CSS………INLINE CRITICAL
+ DEFER & DELAY EVERYTHING ELSE LA LA LAND COOKBOOK
None
None
PASSIVE ACTIVE
SPEED INDEX 14324 START RENDER TTI 13.879s > 17.516s HPPHMLL;-V
SPEED INDEX 14324 START RENDER TTI 13.879s > 17.516s 0.921s
> 5.511s 1651 HPPHMFN80p
HPPHMFN80p SPEED INDEX 14324 START RENDER TTI 13.879s > 17.516s
0.921s > 5.511s 1651 88% FASTER
5IFQFSDFQUJPOPG QFSGPSNBODFJTKVTUBT F⒎FDUJWFBTBDUVBM QFSGPSNBODFῶNBOZ DBTFT t u
5)"/,:06 :&4 5)&*--6453"5*0/4"3&.*/& DENYS MISHUNOV DIGITAL GARDEN AS @mishunov