SlideShare a Scribd company logo
1 of 36
Web Performance
Learning's from Velocity Conference- New York
Hardik Shah
@hardikjs Blog
Follow
•
•
•
•
•
•
•
•
•
•
•

Steve Souders @Souders
Jake Archibald @jaffathecake
Patrick Meenan @PatMeenan
Ilya Grigorik @igrigorik
Tim Kadlec @tkadlec
Andy Davies @andydavies
Phillipe Le Hegaret @plhw3org
Seth Walker @sethwalker
Colt McAnlis @duhroach
Guy Podjarny @guypod
John Allspaw @allspaw
Favorite Quotes from Velocity
• Don't optimize anything unless you measure it
– Patrick Meenan
• Don’t take performance advice. Test it – Jake
Archibald
• Embrace the pain. Become a performance
masochist – Tim Kadlec
4 Things
•
•
•
•

Testing
User Perception & Working Backwards
Rendering
Performance Culture
Testing Performance
• Synthetic Monitoring
- Synthetic monitoring is website monitoring that is
done using a web browser emulation or scripted real
browsers. Behavioral scripts are created to simulate an
action or path that customer or end user would take on
the site. Those paths are then continuously monitored
for performance, such as availability and response
times.(wikipedia)

• Real User Monitoring
– Passive monitoring technique that records all user
interactions
Synthetic Monitoring
Home Wifi(century link)
AT&T LTE
Company network speed
• Generally 80-130Mbps Download speed
Average US Connection Speed
7.4Mbps
We need to get the environment right

http://www.dslreports.com/shownews/Average-US-Connection-Speed-Now-74-Mbps-123988
Bandwidth is not the only factor…
we need to consider Round Trip
Time (RTT) !

https://www.belshe.com/2010/05/24/more-bandwidth-doesnt-matter-much/
Tools to measure performance
• Webpagetest.org
• HTTPWatch for Mobile
Other Vendors:
- Keynote
- Catchpoint
- Appurify
- AppNeta
Demo of WebPageTest
Speed, Performance & Human
Perception
Delay

User reaction

0 - 100 ms

Instant

100 - 300 ms

Feels sluggish

300 - 1000 ms

Machine is working...

1 s+

Mental context switch

10 s+

I'll come back later...

Speed, performance and human perception
Is it important to meet user’s
perception?
If we were given a budget of 1000ms
budget on Mobile…
Let’s work backward and identify where we spend our time

Ilya Grigorik from Google
Input Latency - Hardware
55-120+
ms for
hardware
to register
the touch
event!

(ouch...)
Input Latency - Software

Is it a tap, double tap, drag, flick? Let’s wait a bit to find
out… To be exact, let’s wait ~300 ms!
● <meta name=”viewport” content=”user-scalable=no”>
○
○

Disables pinch zoom, fires tap event immediately.
Chrome is working on a more aggressive strategy…

● For older browsers, you can use FastClick to override this behavior.
Firing up the radio

LTE

Idle to connected latency
User-plane one-way latency

HSPA+

3G

< 100 ms

< 100 ms

< 2.5 s

< 5 ms

< 10 ms

< 50 ms
Core Network Latency

LTE
AT&T core
network
latency

HSPA+

HSPA

EDGE

GPRS

40-50 ms

50-200 ms

150-400 ms

600-750 ms

600-750 ms
Short Life of Web Request

•
•
•
•
•

DNS lookup to resolve the hostname to IP address
New TCP connection requiring a full roundtrip to the server
TLS handshake (not shown) with up to two extra server roundtrips!
HTTP request requiring a full roundtrip to the server
Server processing time
Let's fetch 40 KB over a new TCP connection

•
•
•
•

5 Mbps
connection
200 ms roundtrip
time
100 ms server
processing time
IW10 means
~14KB in first RTT
Input
latency

Hardware 55 - 120+
ms
Software

0 - 300
ms
3G (200 ms

4G(100 ms

RTT)

RTT)

Control plane (200-2500
ms)

(50-100
ms)

DNS lookup

200 ms

100 ms

TCP Connection

200 ms

100 ms

TLS handshake (200-400
ms)

(100-200
ms)

40 KB HTTP 200 ms *
request
3

100 ms *
3

1055 4300 ms

555 1220 ms

Congrats,
we’ve just
fetched 40KB!
Critical Rendering
• Optimizing Critical Rendering Path
– Rendering critical path(html) from the server
– Inline Critical CSS in head
http://www.youtube.com/watch?v=0nwopEYFhko
– Data URI’s
http://www.youtube.com/watch?v=8hrtMOGXjAo

– Lazy Load Everything else
Prebrowsing
The browser is already trying to predict and anticipate user activity, but you
have the app-specific insights -- leverage them! Help the browser with:
1. <link rel="dns-prefetch" href="hostname_to_resolve.com">
Pre-resolve DNS hostnames for assets later in the page! (Most browsers)
2. <link rel="subresource" href="/javascript/myapp.js”>

Initiate early resource fetch for current navigation (Chrome only)
3. <link rel="prefetch" href="/images/big.jpeg”>
Prefetch asset for a future navigation, place in cache… (Most browsers)
4. <link rel="prerender" href="//example.org/next_page.html”>
Prerender page in background tab for future navigation
Rendering without Lumps
• Web Performance have always been about
delivering pixels on time, but the target has
shifted. Optimizing pure JavaScript (loop,
string concatenation, arithmetic) is less
relevant, performance gains are to be found in
DOM, layout dependencies, and interaction
with the GPU – Jake Archibald
Chrome Dev Tools Demo
What works in one browser, may
not work in other browsers, so its
really important to test before we
commit to a particular solution
Joys of Static Memory JavaScript

• Lots of Garbage collection happening
• Garbage collection takes some time
• Static memory JS is a technique which involves
preallocating at the start of our app
• Object Pool (allocate or deallocate C++ style)
W3C Performance Group
• Navigation and Resource timing
(window.performance.timing)
• User timing window.performance.mark(),
.measure()
• Page Visibility (document.hidden)
• requestAnimationFrame
• .now(in sub milliseconds)
What’s Next
• Navigation Timing 2 (Network interface on/off timings)
• Pre-render (preemptively fetching and load the specific
resource)
• Resource Priorities (lazyload and postpone)
• Beacon (asynchronous transfer of data from user agent to
web server)
• Diagnostics: Error
window.performance.getEntriesByType(“error”)
• Javascript Preflight injection (Monitoring Web Applications)
• Display Performance & Async Scroll
– FrameRate of Display paint
– Monitor scroll performance of the viewport
Performance Culture
• Everyone is responsible for performance
• Publish metrics data as you would publish
financial data
• Celebrate performance success as you would
when you get more users or deliver new
features
Finally…
Let’s attack performance problems from all the sides.
Be Awesome!
References
• Most of the stuff is taken from the
presentations(slides) I saw at Velocity.
– http://velocityconf.com/velocityny2013/public/sc
hedule/proceedings
– http://jakearchibald.com/
– http://www.igvita.com/
– http://blog.patrickmeenan.com/
– http://stevesouders.com/
Thanks!

More Related Content

What's hot

5 Common Mistakes You are Making on your Website
 5 Common Mistakes You are Making on your Website 5 Common Mistakes You are Making on your Website
5 Common Mistakes You are Making on your WebsiteAcquia
 
Optimizing your WordPress website
Optimizing your WordPress websiteOptimizing your WordPress website
Optimizing your WordPress websitemwfordesigns
 
Consuming Web Services in Android
Consuming Web Services in AndroidConsuming Web Services in Android
Consuming Web Services in AndroidDavid Truxall
 
Metrics, metrics everywhere (but where the heck do you start?)
Metrics, metrics everywhere (but where the heck do you start?)Metrics, metrics everywhere (but where the heck do you start?)
Metrics, metrics everywhere (but where the heck do you start?)Tammy Everts
 
Using Web Standards to create Interactive Data Visualizations for the Web
Using Web Standards to create Interactive Data Visualizations for the WebUsing Web Standards to create Interactive Data Visualizations for the Web
Using Web Standards to create Interactive Data Visualizations for the Webphilogb
 
Stress Test Drupal on Amazon EC2 vs. RackSpace cloud
Stress Test Drupal on Amazon EC2 vs. RackSpace cloudStress Test Drupal on Amazon EC2 vs. RackSpace cloud
Stress Test Drupal on Amazon EC2 vs. RackSpace cloudAndy Kucharski
 
Cloudcamp Chicago Nov 2104 Fintech - John Downey's "A Hypothetical Public Clo...
Cloudcamp Chicago Nov 2104 Fintech - John Downey's "A Hypothetical Public Clo...Cloudcamp Chicago Nov 2104 Fintech - John Downey's "A Hypothetical Public Clo...
Cloudcamp Chicago Nov 2104 Fintech - John Downey's "A Hypothetical Public Clo...CloudCamp Chicago
 
Breaking the Speed Limit: Faster Websites Win
Breaking the Speed Limit: Faster Websites WinBreaking the Speed Limit: Faster Websites Win
Breaking the Speed Limit: Faster Websites WinJonathan Hochman
 
Introduction to HTML5
Introduction to HTML5Introduction to HTML5
Introduction to HTML5Kunal Johar
 
The Mobile Web - HTML5 on mobile devices
The Mobile Web - HTML5 on mobile devicesThe Mobile Web - HTML5 on mobile devices
The Mobile Web - HTML5 on mobile devicesWesley Hales
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Librarieselliando dias
 
Front-End Web Performance Optimization by BucketSoft
Front-End Web Performance Optimization by BucketSoftFront-End Web Performance Optimization by BucketSoft
Front-End Web Performance Optimization by BucketSoftSteve Wortham
 
Scalability vs. Performance
Scalability vs. PerformanceScalability vs. Performance
Scalability vs. PerformanceSergeyChernyshev
 
Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slideselliando dias
 
Optimising Web Application Frontend
Optimising Web Application FrontendOptimising Web Application Frontend
Optimising Web Application Frontendtkramar
 
Insecure Implementation of Security Best Practices: of hashing, CAPTCHA's and...
Insecure Implementation of Security Best Practices: of hashing, CAPTCHA's and...Insecure Implementation of Security Best Practices: of hashing, CAPTCHA's and...
Insecure Implementation of Security Best Practices: of hashing, CAPTCHA's and...amiable_indian
 
SenchaCon 2016: Building a Faceted Catalog of Video Game Assets Using Ext JS ...
SenchaCon 2016: Building a Faceted Catalog of Video Game Assets Using Ext JS ...SenchaCon 2016: Building a Faceted Catalog of Video Game Assets Using Ext JS ...
SenchaCon 2016: Building a Faceted Catalog of Video Game Assets Using Ext JS ...Sencha
 
Metrics, metrics everywhere (but where the heck do you start?)
Metrics, metrics everywhere (but where the heck do you start?)Metrics, metrics everywhere (but where the heck do you start?)
Metrics, metrics everywhere (but where the heck do you start?)Tammy Everts
 
3 Tips for a better mobile User Experience
3 Tips for a better mobile User Experience3 Tips for a better mobile User Experience
3 Tips for a better mobile User ExperienceKlaus Enzenhofer
 
Java script nirvana in netbeans [con5679]
Java script nirvana in netbeans [con5679]Java script nirvana in netbeans [con5679]
Java script nirvana in netbeans [con5679]Ryan Cuprak
 

What's hot (20)

5 Common Mistakes You are Making on your Website
 5 Common Mistakes You are Making on your Website 5 Common Mistakes You are Making on your Website
5 Common Mistakes You are Making on your Website
 
Optimizing your WordPress website
Optimizing your WordPress websiteOptimizing your WordPress website
Optimizing your WordPress website
 
Consuming Web Services in Android
Consuming Web Services in AndroidConsuming Web Services in Android
Consuming Web Services in Android
 
Metrics, metrics everywhere (but where the heck do you start?)
Metrics, metrics everywhere (but where the heck do you start?)Metrics, metrics everywhere (but where the heck do you start?)
Metrics, metrics everywhere (but where the heck do you start?)
 
Using Web Standards to create Interactive Data Visualizations for the Web
Using Web Standards to create Interactive Data Visualizations for the WebUsing Web Standards to create Interactive Data Visualizations for the Web
Using Web Standards to create Interactive Data Visualizations for the Web
 
Stress Test Drupal on Amazon EC2 vs. RackSpace cloud
Stress Test Drupal on Amazon EC2 vs. RackSpace cloudStress Test Drupal on Amazon EC2 vs. RackSpace cloud
Stress Test Drupal on Amazon EC2 vs. RackSpace cloud
 
Cloudcamp Chicago Nov 2104 Fintech - John Downey's "A Hypothetical Public Clo...
Cloudcamp Chicago Nov 2104 Fintech - John Downey's "A Hypothetical Public Clo...Cloudcamp Chicago Nov 2104 Fintech - John Downey's "A Hypothetical Public Clo...
Cloudcamp Chicago Nov 2104 Fintech - John Downey's "A Hypothetical Public Clo...
 
Breaking the Speed Limit: Faster Websites Win
Breaking the Speed Limit: Faster Websites WinBreaking the Speed Limit: Faster Websites Win
Breaking the Speed Limit: Faster Websites Win
 
Introduction to HTML5
Introduction to HTML5Introduction to HTML5
Introduction to HTML5
 
The Mobile Web - HTML5 on mobile devices
The Mobile Web - HTML5 on mobile devicesThe Mobile Web - HTML5 on mobile devices
The Mobile Web - HTML5 on mobile devices
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Libraries
 
Front-End Web Performance Optimization by BucketSoft
Front-End Web Performance Optimization by BucketSoftFront-End Web Performance Optimization by BucketSoft
Front-End Web Performance Optimization by BucketSoft
 
Scalability vs. Performance
Scalability vs. PerformanceScalability vs. Performance
Scalability vs. Performance
 
Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slides
 
Optimising Web Application Frontend
Optimising Web Application FrontendOptimising Web Application Frontend
Optimising Web Application Frontend
 
Insecure Implementation of Security Best Practices: of hashing, CAPTCHA's and...
Insecure Implementation of Security Best Practices: of hashing, CAPTCHA's and...Insecure Implementation of Security Best Practices: of hashing, CAPTCHA's and...
Insecure Implementation of Security Best Practices: of hashing, CAPTCHA's and...
 
SenchaCon 2016: Building a Faceted Catalog of Video Game Assets Using Ext JS ...
SenchaCon 2016: Building a Faceted Catalog of Video Game Assets Using Ext JS ...SenchaCon 2016: Building a Faceted Catalog of Video Game Assets Using Ext JS ...
SenchaCon 2016: Building a Faceted Catalog of Video Game Assets Using Ext JS ...
 
Metrics, metrics everywhere (but where the heck do you start?)
Metrics, metrics everywhere (but where the heck do you start?)Metrics, metrics everywhere (but where the heck do you start?)
Metrics, metrics everywhere (but where the heck do you start?)
 
3 Tips for a better mobile User Experience
3 Tips for a better mobile User Experience3 Tips for a better mobile User Experience
3 Tips for a better mobile User Experience
 
Java script nirvana in netbeans [con5679]
Java script nirvana in netbeans [con5679]Java script nirvana in netbeans [con5679]
Java script nirvana in netbeans [con5679]
 

Viewers also liked

Web Performance Lightning Talk
Web Performance Lightning TalkWeb Performance Lightning Talk
Web Performance Lightning TalkHardik Shah
 
Heraldo Verapacense 236, Libertad Económica, Erick Reyes Andrade
Heraldo Verapacense 236, Libertad Económica, Erick Reyes AndradeHeraldo Verapacense 236, Libertad Económica, Erick Reyes Andrade
Heraldo Verapacense 236, Libertad Económica, Erick Reyes Andrade123apn1
 
Heraldo Verapacense 242, Madre, inspiración total de vida, Erick Reyes Andrade
Heraldo Verapacense 242, Madre, inspiración total de vida, Erick Reyes AndradeHeraldo Verapacense 242, Madre, inspiración total de vida, Erick Reyes Andrade
Heraldo Verapacense 242, Madre, inspiración total de vida, Erick Reyes Andrade123apn1
 
Heraldo Verapacense 239, Educación, motor de cambio, Erick Reyes Andrade
Heraldo Verapacense  239, Educación, motor de cambio, Erick Reyes AndradeHeraldo Verapacense  239, Educación, motor de cambio, Erick Reyes Andrade
Heraldo Verapacense 239, Educación, motor de cambio, Erick Reyes Andrade123apn1
 
Hv 231, La envidia individual, enfermedad social, Erick Reyes Andrade
Hv 231, La envidia individual, enfermedad social, Erick Reyes AndradeHv 231, La envidia individual, enfermedad social, Erick Reyes Andrade
Hv 231, La envidia individual, enfermedad social, Erick Reyes Andrade123apn1
 
HV 235, La evolución del acto de la concentración humana, Erick Reyes Andrade
HV 235, La evolución del acto de la concentración humana, Erick Reyes AndradeHV 235, La evolución del acto de la concentración humana, Erick Reyes Andrade
HV 235, La evolución del acto de la concentración humana, Erick Reyes Andrade123apn1
 
Heraldo Verapacense 245, República o corrupción, Erick Reyes Andrade
Heraldo Verapacense 245, República o corrupción, Erick Reyes AndradeHeraldo Verapacense 245, República o corrupción, Erick Reyes Andrade
Heraldo Verapacense 245, República o corrupción, Erick Reyes Andrade123apn1
 
HV 229, Reflexión sobre nuestro comportamiento, Erick Reyes Andrade
HV 229,  Reflexión sobre nuestro comportamiento,  Erick Reyes AndradeHV 229,  Reflexión sobre nuestro comportamiento,  Erick Reyes Andrade
HV 229, Reflexión sobre nuestro comportamiento, Erick Reyes Andrade123apn1
 
Hv 234, El simbolismo de nuestra ave, el quetzal, Erick Reyes Andrade
Hv 234, El simbolismo de nuestra ave, el quetzal, Erick Reyes AndradeHv 234, El simbolismo de nuestra ave, el quetzal, Erick Reyes Andrade
Hv 234, El simbolismo de nuestra ave, el quetzal, Erick Reyes Andrade123apn1
 
HV 233, Los inicios históricos de las Verapaces, Erick Reyes Andrade
HV 233, Los inicios históricos de las Verapaces, Erick Reyes AndradeHV 233, Los inicios históricos de las Verapaces, Erick Reyes Andrade
HV 233, Los inicios históricos de las Verapaces, Erick Reyes Andrade123apn1
 
Heraldo Verapacense 244, Karl Popper y la honestidad intelectual, Erick Reyes...
Heraldo Verapacense 244, Karl Popper y la honestidad intelectual, Erick Reyes...Heraldo Verapacense 244, Karl Popper y la honestidad intelectual, Erick Reyes...
Heraldo Verapacense 244, Karl Popper y la honestidad intelectual, Erick Reyes...123apn1
 
Heraldo Verapacense 237, La natividad en mí, Erick Reyes Andrade
Heraldo Verapacense  237, La natividad en mí, Erick Reyes AndradeHeraldo Verapacense  237, La natividad en mí, Erick Reyes Andrade
Heraldo Verapacense 237, La natividad en mí, Erick Reyes Andrade123apn1
 
Heraldo Verapacense 241, El camino de la virtud, Erick Reyes Andrade
Heraldo Verapacense 241, El camino de la virtud, Erick Reyes AndradeHeraldo Verapacense 241, El camino de la virtud, Erick Reyes Andrade
Heraldo Verapacense 241, El camino de la virtud, Erick Reyes Andrade123apn1
 
Digital out of home Advertising RTB Network (RUS)
Digital out of home Advertising RTB Network (RUS)Digital out of home Advertising RTB Network (RUS)
Digital out of home Advertising RTB Network (RUS)Andrey Bogdanov
 

Viewers also liked (16)

Practica blog
Practica blogPractica blog
Practica blog
 
Web Performance Lightning Talk
Web Performance Lightning TalkWeb Performance Lightning Talk
Web Performance Lightning Talk
 
Heraldo Verapacense 236, Libertad Económica, Erick Reyes Andrade
Heraldo Verapacense 236, Libertad Económica, Erick Reyes AndradeHeraldo Verapacense 236, Libertad Económica, Erick Reyes Andrade
Heraldo Verapacense 236, Libertad Económica, Erick Reyes Andrade
 
Heraldo Verapacense 242, Madre, inspiración total de vida, Erick Reyes Andrade
Heraldo Verapacense 242, Madre, inspiración total de vida, Erick Reyes AndradeHeraldo Verapacense 242, Madre, inspiración total de vida, Erick Reyes Andrade
Heraldo Verapacense 242, Madre, inspiración total de vida, Erick Reyes Andrade
 
Heraldo Verapacense 239, Educación, motor de cambio, Erick Reyes Andrade
Heraldo Verapacense  239, Educación, motor de cambio, Erick Reyes AndradeHeraldo Verapacense  239, Educación, motor de cambio, Erick Reyes Andrade
Heraldo Verapacense 239, Educación, motor de cambio, Erick Reyes Andrade
 
Hv 231, La envidia individual, enfermedad social, Erick Reyes Andrade
Hv 231, La envidia individual, enfermedad social, Erick Reyes AndradeHv 231, La envidia individual, enfermedad social, Erick Reyes Andrade
Hv 231, La envidia individual, enfermedad social, Erick Reyes Andrade
 
HV 235, La evolución del acto de la concentración humana, Erick Reyes Andrade
HV 235, La evolución del acto de la concentración humana, Erick Reyes AndradeHV 235, La evolución del acto de la concentración humana, Erick Reyes Andrade
HV 235, La evolución del acto de la concentración humana, Erick Reyes Andrade
 
Heraldo Verapacense 245, República o corrupción, Erick Reyes Andrade
Heraldo Verapacense 245, República o corrupción, Erick Reyes AndradeHeraldo Verapacense 245, República o corrupción, Erick Reyes Andrade
Heraldo Verapacense 245, República o corrupción, Erick Reyes Andrade
 
HV 229, Reflexión sobre nuestro comportamiento, Erick Reyes Andrade
HV 229,  Reflexión sobre nuestro comportamiento,  Erick Reyes AndradeHV 229,  Reflexión sobre nuestro comportamiento,  Erick Reyes Andrade
HV 229, Reflexión sobre nuestro comportamiento, Erick Reyes Andrade
 
Hv 234, El simbolismo de nuestra ave, el quetzal, Erick Reyes Andrade
Hv 234, El simbolismo de nuestra ave, el quetzal, Erick Reyes AndradeHv 234, El simbolismo de nuestra ave, el quetzal, Erick Reyes Andrade
Hv 234, El simbolismo de nuestra ave, el quetzal, Erick Reyes Andrade
 
HV 233, Los inicios históricos de las Verapaces, Erick Reyes Andrade
HV 233, Los inicios históricos de las Verapaces, Erick Reyes AndradeHV 233, Los inicios históricos de las Verapaces, Erick Reyes Andrade
HV 233, Los inicios históricos de las Verapaces, Erick Reyes Andrade
 
Heraldo Verapacense 244, Karl Popper y la honestidad intelectual, Erick Reyes...
Heraldo Verapacense 244, Karl Popper y la honestidad intelectual, Erick Reyes...Heraldo Verapacense 244, Karl Popper y la honestidad intelectual, Erick Reyes...
Heraldo Verapacense 244, Karl Popper y la honestidad intelectual, Erick Reyes...
 
Heraldo Verapacense 237, La natividad en mí, Erick Reyes Andrade
Heraldo Verapacense  237, La natividad en mí, Erick Reyes AndradeHeraldo Verapacense  237, La natividad en mí, Erick Reyes Andrade
Heraldo Verapacense 237, La natividad en mí, Erick Reyes Andrade
 
Heraldo Verapacense 241, El camino de la virtud, Erick Reyes Andrade
Heraldo Verapacense 241, El camino de la virtud, Erick Reyes AndradeHeraldo Verapacense 241, El camino de la virtud, Erick Reyes Andrade
Heraldo Verapacense 241, El camino de la virtud, Erick Reyes Andrade
 
Digital out of home Advertising RTB Network (RUS)
Digital out of home Advertising RTB Network (RUS)Digital out of home Advertising RTB Network (RUS)
Digital out of home Advertising RTB Network (RUS)
 
DOOH Ads_final_ENG
DOOH Ads_final_ENGDOOH Ads_final_ENG
DOOH Ads_final_ENG
 

Similar to Optimize Web Performance by Learning from Velocity Conference

Cvcc performance tuning
Cvcc performance tuningCvcc performance tuning
Cvcc performance tuningJohn McCaffrey
 
10 things you can do to speed up your web app today stir trek edition
10 things you can do to speed up your web app today   stir trek edition10 things you can do to speed up your web app today   stir trek edition
10 things you can do to speed up your web app today stir trek editionChris Love
 
下一代Web前端技术 陈子舜
下一代Web前端技术 陈子舜下一代Web前端技术 陈子舜
下一代Web前端技术 陈子舜正炎 高
 
Fine tuning Hybrid Mobile App
Fine tuning Hybrid Mobile AppFine tuning Hybrid Mobile App
Fine tuning Hybrid Mobile AppAllan Tan
 
Developer Tools And Page Speed
Developer  Tools And  Page  SpeedDeveloper  Tools And  Page  Speed
Developer Tools And Page SpeedLina Shamiah
 
10 Things You Can Do to Speed Up Your Web App Today
10 Things You Can Do to Speed Up Your Web App Today10 Things You Can Do to Speed Up Your Web App Today
10 Things You Can Do to Speed Up Your Web App TodayChris Love
 
Fast Sites and SEO - PubCon 2017
Fast Sites and SEO - PubCon 2017Fast Sites and SEO - PubCon 2017
Fast Sites and SEO - PubCon 2017MarketingNomads.com
 
jQuery Conference San Diego 2014 - Web Performance
jQuery Conference San Diego 2014 - Web PerformancejQuery Conference San Diego 2014 - Web Performance
jQuery Conference San Diego 2014 - Web Performancedmethvin
 
BrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The Edge
BrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The EdgeBrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The Edge
BrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The EdgeDan Taylor
 
Performance on the Yahoo! Homepage
Performance on the Yahoo! HomepagePerformance on the Yahoo! Homepage
Performance on the Yahoo! HomepageNicholas Zakas
 
Building performance into the new yahoo homepage presentation
Building performance into the new yahoo  homepage presentationBuilding performance into the new yahoo  homepage presentation
Building performance into the new yahoo homepage presentationmasudakram
 
Day 7 - Make it Fast
Day 7 - Make it FastDay 7 - Make it Fast
Day 7 - Make it FastBarry Jones
 
From Zero to Performance Hero in Minutes - Agile Testing Days 2014 Potsdam
From Zero to Performance Hero in Minutes - Agile Testing Days 2014 PotsdamFrom Zero to Performance Hero in Minutes - Agile Testing Days 2014 Potsdam
From Zero to Performance Hero in Minutes - Agile Testing Days 2014 PotsdamAndreas Grabner
 
My site is slow
My site is slowMy site is slow
My site is slowhernanibf
 
20 tips for website performance
20 tips for website performance20 tips for website performance
20 tips for website performanceAndrew Siemer
 
5 Steps To Deliver The Fastest Mobile Shopping Experience This Holiday Season
5 Steps To Deliver The Fastest Mobile Shopping Experience This Holiday Season5 Steps To Deliver The Fastest Mobile Shopping Experience This Holiday Season
5 Steps To Deliver The Fastest Mobile Shopping Experience This Holiday SeasonG3 Communications
 
PAC 2019 virtual Mark Tomlinson
PAC 2019 virtual Mark TomlinsonPAC 2019 virtual Mark Tomlinson
PAC 2019 virtual Mark TomlinsonNeotys
 

Similar to Optimize Web Performance by Learning from Velocity Conference (20)

Cvcc performance tuning
Cvcc performance tuningCvcc performance tuning
Cvcc performance tuning
 
Web Performance Optimization (WPO)
Web Performance Optimization (WPO)Web Performance Optimization (WPO)
Web Performance Optimization (WPO)
 
10 things you can do to speed up your web app today stir trek edition
10 things you can do to speed up your web app today   stir trek edition10 things you can do to speed up your web app today   stir trek edition
10 things you can do to speed up your web app today stir trek edition
 
下一代Web前端技术 陈子舜
下一代Web前端技术 陈子舜下一代Web前端技术 陈子舜
下一代Web前端技术 陈子舜
 
Salesforce Performance hacks - Client Side
Salesforce Performance hacks - Client SideSalesforce Performance hacks - Client Side
Salesforce Performance hacks - Client Side
 
performance.ppt
performance.pptperformance.ppt
performance.ppt
 
Fine tuning Hybrid Mobile App
Fine tuning Hybrid Mobile AppFine tuning Hybrid Mobile App
Fine tuning Hybrid Mobile App
 
Developer Tools And Page Speed
Developer  Tools And  Page  SpeedDeveloper  Tools And  Page  Speed
Developer Tools And Page Speed
 
10 Things You Can Do to Speed Up Your Web App Today
10 Things You Can Do to Speed Up Your Web App Today10 Things You Can Do to Speed Up Your Web App Today
10 Things You Can Do to Speed Up Your Web App Today
 
Fast Sites and SEO - PubCon 2017
Fast Sites and SEO - PubCon 2017Fast Sites and SEO - PubCon 2017
Fast Sites and SEO - PubCon 2017
 
jQuery Conference San Diego 2014 - Web Performance
jQuery Conference San Diego 2014 - Web PerformancejQuery Conference San Diego 2014 - Web Performance
jQuery Conference San Diego 2014 - Web Performance
 
BrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The Edge
BrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The EdgeBrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The Edge
BrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The Edge
 
Performance on the Yahoo! Homepage
Performance on the Yahoo! HomepagePerformance on the Yahoo! Homepage
Performance on the Yahoo! Homepage
 
Building performance into the new yahoo homepage presentation
Building performance into the new yahoo  homepage presentationBuilding performance into the new yahoo  homepage presentation
Building performance into the new yahoo homepage presentation
 
Day 7 - Make it Fast
Day 7 - Make it FastDay 7 - Make it Fast
Day 7 - Make it Fast
 
From Zero to Performance Hero in Minutes - Agile Testing Days 2014 Potsdam
From Zero to Performance Hero in Minutes - Agile Testing Days 2014 PotsdamFrom Zero to Performance Hero in Minutes - Agile Testing Days 2014 Potsdam
From Zero to Performance Hero in Minutes - Agile Testing Days 2014 Potsdam
 
My site is slow
My site is slowMy site is slow
My site is slow
 
20 tips for website performance
20 tips for website performance20 tips for website performance
20 tips for website performance
 
5 Steps To Deliver The Fastest Mobile Shopping Experience This Holiday Season
5 Steps To Deliver The Fastest Mobile Shopping Experience This Holiday Season5 Steps To Deliver The Fastest Mobile Shopping Experience This Holiday Season
5 Steps To Deliver The Fastest Mobile Shopping Experience This Holiday Season
 
PAC 2019 virtual Mark Tomlinson
PAC 2019 virtual Mark TomlinsonPAC 2019 virtual Mark Tomlinson
PAC 2019 virtual Mark Tomlinson
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 

Optimize Web Performance by Learning from Velocity Conference

  • 1. Web Performance Learning's from Velocity Conference- New York Hardik Shah @hardikjs Blog
  • 2. Follow • • • • • • • • • • • Steve Souders @Souders Jake Archibald @jaffathecake Patrick Meenan @PatMeenan Ilya Grigorik @igrigorik Tim Kadlec @tkadlec Andy Davies @andydavies Phillipe Le Hegaret @plhw3org Seth Walker @sethwalker Colt McAnlis @duhroach Guy Podjarny @guypod John Allspaw @allspaw
  • 3. Favorite Quotes from Velocity • Don't optimize anything unless you measure it – Patrick Meenan • Don’t take performance advice. Test it – Jake Archibald • Embrace the pain. Become a performance masochist – Tim Kadlec
  • 4. 4 Things • • • • Testing User Perception & Working Backwards Rendering Performance Culture
  • 5. Testing Performance • Synthetic Monitoring - Synthetic monitoring is website monitoring that is done using a web browser emulation or scripted real browsers. Behavioral scripts are created to simulate an action or path that customer or end user would take on the site. Those paths are then continuously monitored for performance, such as availability and response times.(wikipedia) • Real User Monitoring – Passive monitoring technique that records all user interactions
  • 9. Company network speed • Generally 80-130Mbps Download speed
  • 10. Average US Connection Speed 7.4Mbps We need to get the environment right http://www.dslreports.com/shownews/Average-US-Connection-Speed-Now-74-Mbps-123988
  • 11. Bandwidth is not the only factor… we need to consider Round Trip Time (RTT) ! https://www.belshe.com/2010/05/24/more-bandwidth-doesnt-matter-much/
  • 12. Tools to measure performance • Webpagetest.org • HTTPWatch for Mobile Other Vendors: - Keynote - Catchpoint - Appurify - AppNeta
  • 14. Speed, Performance & Human Perception Delay User reaction 0 - 100 ms Instant 100 - 300 ms Feels sluggish 300 - 1000 ms Machine is working... 1 s+ Mental context switch 10 s+ I'll come back later... Speed, performance and human perception
  • 15. Is it important to meet user’s perception?
  • 16. If we were given a budget of 1000ms budget on Mobile… Let’s work backward and identify where we spend our time Ilya Grigorik from Google
  • 17. Input Latency - Hardware 55-120+ ms for hardware to register the touch event! (ouch...)
  • 18. Input Latency - Software Is it a tap, double tap, drag, flick? Let’s wait a bit to find out… To be exact, let’s wait ~300 ms! ● <meta name=”viewport” content=”user-scalable=no”> ○ ○ Disables pinch zoom, fires tap event immediately. Chrome is working on a more aggressive strategy… ● For older browsers, you can use FastClick to override this behavior.
  • 19. Firing up the radio LTE Idle to connected latency User-plane one-way latency HSPA+ 3G < 100 ms < 100 ms < 2.5 s < 5 ms < 10 ms < 50 ms
  • 20. Core Network Latency LTE AT&T core network latency HSPA+ HSPA EDGE GPRS 40-50 ms 50-200 ms 150-400 ms 600-750 ms 600-750 ms
  • 21. Short Life of Web Request • • • • • DNS lookup to resolve the hostname to IP address New TCP connection requiring a full roundtrip to the server TLS handshake (not shown) with up to two extra server roundtrips! HTTP request requiring a full roundtrip to the server Server processing time
  • 22. Let's fetch 40 KB over a new TCP connection • • • • 5 Mbps connection 200 ms roundtrip time 100 ms server processing time IW10 means ~14KB in first RTT
  • 23. Input latency Hardware 55 - 120+ ms Software 0 - 300 ms 3G (200 ms 4G(100 ms RTT) RTT) Control plane (200-2500 ms) (50-100 ms) DNS lookup 200 ms 100 ms TCP Connection 200 ms 100 ms TLS handshake (200-400 ms) (100-200 ms) 40 KB HTTP 200 ms * request 3 100 ms * 3 1055 4300 ms 555 1220 ms Congrats, we’ve just fetched 40KB!
  • 24. Critical Rendering • Optimizing Critical Rendering Path – Rendering critical path(html) from the server – Inline Critical CSS in head http://www.youtube.com/watch?v=0nwopEYFhko – Data URI’s http://www.youtube.com/watch?v=8hrtMOGXjAo – Lazy Load Everything else
  • 25. Prebrowsing The browser is already trying to predict and anticipate user activity, but you have the app-specific insights -- leverage them! Help the browser with: 1. <link rel="dns-prefetch" href="hostname_to_resolve.com"> Pre-resolve DNS hostnames for assets later in the page! (Most browsers) 2. <link rel="subresource" href="/javascript/myapp.js”> Initiate early resource fetch for current navigation (Chrome only) 3. <link rel="prefetch" href="/images/big.jpeg”> Prefetch asset for a future navigation, place in cache… (Most browsers) 4. <link rel="prerender" href="//example.org/next_page.html”> Prerender page in background tab for future navigation
  • 26. Rendering without Lumps • Web Performance have always been about delivering pixels on time, but the target has shifted. Optimizing pure JavaScript (loop, string concatenation, arithmetic) is less relevant, performance gains are to be found in DOM, layout dependencies, and interaction with the GPU – Jake Archibald
  • 27.
  • 29. What works in one browser, may not work in other browsers, so its really important to test before we commit to a particular solution
  • 30. Joys of Static Memory JavaScript • Lots of Garbage collection happening • Garbage collection takes some time • Static memory JS is a technique which involves preallocating at the start of our app • Object Pool (allocate or deallocate C++ style)
  • 31. W3C Performance Group • Navigation and Resource timing (window.performance.timing) • User timing window.performance.mark(), .measure() • Page Visibility (document.hidden) • requestAnimationFrame • .now(in sub milliseconds)
  • 32. What’s Next • Navigation Timing 2 (Network interface on/off timings) • Pre-render (preemptively fetching and load the specific resource) • Resource Priorities (lazyload and postpone) • Beacon (asynchronous transfer of data from user agent to web server) • Diagnostics: Error window.performance.getEntriesByType(“error”) • Javascript Preflight injection (Monitoring Web Applications) • Display Performance & Async Scroll – FrameRate of Display paint – Monitor scroll performance of the viewport
  • 33. Performance Culture • Everyone is responsible for performance • Publish metrics data as you would publish financial data • Celebrate performance success as you would when you get more users or deliver new features
  • 34. Finally… Let’s attack performance problems from all the sides. Be Awesome!
  • 35. References • Most of the stuff is taken from the presentations(slides) I saw at Velocity. – http://velocityconf.com/velocityny2013/public/sc hedule/proceedings – http://jakearchibald.com/ – http://www.igvita.com/ – http://blog.patrickmeenan.com/ – http://stevesouders.com/

Editor's Notes

  1. They are awesome and always have something to say on twitter.
  2. I’ll be concentrating on this 4 things in my presentation
  3. Synthetic monitoring is a pretty powerful technique to identify regressions and is largely in our control. Let’s say I add twitter button tomorrow. How much latency does it add. What is its effect in our rendering.
  4. If we make an analogy between plumbing &amp; internet, we consider bandwidth of the internet to be like the diameter of water pipe. A large pipes carries large amount of water. At the same time, if the pipe is empty and you want to get water from one point to another it takes time too….
  5. Onloadvs First load5MbpsMobile
  6. You have your mental context switch at 1s+There are a lot of competitors offering compelling products.
  7. This talk was pretty awesome. Although I need to research some more here.Garbage collection event happens only when the browser realizes that there are a lot of inactive objects. Garbage collection does take some time. So if we can somehow prevent the garbage collection from happening by eliminating as many cases of excessive object creation and release as you can.Static memory JS is a technique that involves preallocating at the start of your app, all the memory required for its lifetime. Basically creating a new data structure call object pool. We allocate the object and free them again.
  8. Not all browsers support this. Safari does not support performance timingapinavigationStart, requestStart - https://developer.mozilla.org/en-US/docs/Navigation_timingrequestAnimationFrame - http://www.paulirish.com/2011/requestanimationframe-for-smart-animating/.Date.now – gives you time in milliseconds. Now its in sub milliseconds
  9. These are just some of the ideas the w3c group has. And this will probably take more than a year to even see some of this in the browser.Beacon – User agents ignore asynchronous XMLHTTPRequests made in unload handler.
  10. Etsy has done a pretty amazing job with this.
  11. Mlb.com has gained a whopping 600% increase in traffic by getting the Video Streaming performance rightIntuit has seen a 10% increase in Order pipelines by improving performance.