This repository has been archived by the owner. It is now read-only.

Cargo Cult Web Performance Optimization

Ben Oakes edited this page Sep 20, 2012 · 2 revisions

From Gogaruco 2012

Presenter: Ilya Grigorik

Notes from @simeonwillbanks

Webkit is important

1 billion mobile devices
2 million new activations a day
They all run webkit
Webkit is the largest development platform in the world
We are missing browser fundamentals
Whole compsci program could be taught from browser source
Every branch of computer science is within the browser

Developers are responsible for furthering their education

Understanding how a browser works pays really high dividends


Browser is an open box, not a black box
(see slides for components diagram)

Webkit is a browser engine which has a lot of components like chrome and bookmarks
Webkit ships with many components

  • Webkit at its core is WebCore
  • WebCore is reused by all WebKit browsers
  • WebCore is responsible for
  • Resource dispatch
  • JavaScript Engine
  • Platform APIs

Network Stack

Just because its webkit doesn't mean its uniform and all the same!

The browser gets faster as you use like with things like DNS prefetch


Flush allows parser to forge ahead instead of waiting for the entire page

Pushing logic into JavaScript hides details from browser and the browser cant help

Read through Document Parser code and understand comments

DOM Tree has a lot elements which we don't care about, we only care about visual elements

DOM Tree is made of many different trees, some elements get their own render layer

Its better to be consistent instead of jumping all over with FPS
Its worse to jump from 15FPS to 60FPS

IF you only remember one thing!
Read the source, and use to search the source

Ilya says browser education is very important
Its the single best investment we can all make
It will enable more innovation in the future

External Links

A crowd-sourced conference wiki!
Working together is better. :)

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.