Start render times, and speed index, for Yahoo, Google and Facebook

I wanted to see histograms for Yahoo, Facebook and Google, for start render times and speed index.
This would provide both:

  • start render times for the three sites (across all properties, of each site, that are logged in httparchive database)
  • visible parts of the page displayed time.

First step was to query the database. I ran a query from runs since June 2013 to date:

SELECT * FROM

(SELECT 'desktop' type, 'facebook' property, renderStart, speedIndex from httparchive:runs.2014_02_01_pages where url like '%facebook%'),
(SELECT 'mobile' type, 'facebook' property, renderStart, speedIndex from httparchive:runs.2014_02_01_pages_mobile where url like '%facebook%'),
(SELECT 'desktop' type, 'google' property, renderStart, speedIndex from httparchive:runs.2014_02_01_pages where url like '%google%'),
(SELECT 'mobile' type, 'google' property, renderStart, speedIndex from httparchive:runs.2014_02_01_pages_mobile where url like '%google%'),
(SELECT 'desktop' type, 'yahoo' property, renderStart, speedIndex from httparchive:runs.2014_02_01_pages where url like '%yahoo%'),
(SELECT 'mobile' type, 'yahoo' property, renderStart, speedIndex from httparchive:runs.2014_02_01_pages_mobile where url like '%yahoo%'),

(SELECT 'desktop' type, 'facebook' property, renderStart, speedIndex from httparchive:runs.2014_01_15_pages where url like '%facebook%'),
(SELECT 'mobile' type, 'facebook' property, renderStart, speedIndex from httparchive:runs.2014_01_15_pages_mobile where url like '%facebook%'),
(SELECT 'desktop' type, 'google' property, renderStart, speedIndex from httparchive:runs.2014_01_15_pages where url like '%google%'),
(SELECT 'mobile' type, 'google' property, renderStart, speedIndex from httparchive:runs.2014_01_15_pages_mobile where url like '%google%'),
(SELECT 'desktop' type, 'yahoo' property, renderStart, speedIndex from httparchive:runs.2014_01_15_pages where url like '%yahoo%'),
(SELECT 'mobile' type, 'yahoo' property, renderStart, speedIndex from httparchive:runs.2014_01_15_pages_mobile where url like '%yahoo%'),

(SELECT 'desktop' type, 'facebook' property, renderStart, speedIndex from httparchive:runs.2014_01_01_pages where url like '%facebook%'),
(SELECT 'mobile' type, 'facebook' property, renderStart, speedIndex from httparchive:runs.2014_01_01_pages_mobile where url like '%facebook%'),
(SELECT 'desktop' type, 'google' property, renderStart, speedIndex from httparchive:runs.2014_01_01_pages where url like '%google%'),
(SELECT 'mobile' type, 'google' property, renderStart, speedIndex from httparchive:runs.2014_01_01_pages_mobile where url like '%google%'),
(SELECT 'desktop' type, 'yahoo' property, renderStart, speedIndex from httparchive:runs.2014_01_01_pages where url like '%yahoo%'),
(SELECT 'mobile' type, 'yahoo' property, renderStart, speedIndex from httparchive:runs.2014_01_01_pages_mobile where url like '%yahoo%'),

(SELECT 'desktop' type, 'facebook' property, renderStart, speedIndex from httparchive:runs.2013_12_15_pages where url like '%facebook%'),
(SELECT 'mobile' type, 'facebook' property, renderStart, speedIndex from httparchive:runs.2013_12_15_pages_mobile where url like '%facebook%'),
(SELECT 'desktop' type, 'google' property, renderStart, speedIndex from httparchive:runs.2013_12_15_pages where url like '%google%'),
(SELECT 'mobile' type, 'google' property, renderStart, speedIndex from httparchive:runs.2013_12_15_pages_mobile where url like '%google%'),
(SELECT 'desktop' type, 'yahoo' property, renderStart, speedIndex from httparchive:runs.2013_12_15_pages where url like '%yahoo%'),
(SELECT 'mobile' type, 'yahoo' property, renderStart, speedIndex from httparchive:runs.2013_12_15_pages_mobile where url like '%yahoo%'),

(SELECT 'desktop' type, 'facebook' property, renderStart, speedIndex from httparchive:runs.2013_11_15_pages where url like '%facebook%'),
(SELECT 'mobile' type, 'facebook' property, renderStart, speedIndex from httparchive:runs.2013_11_15_pages_mobile where url like '%facebook%'),
(SELECT 'desktop' type, 'google' property, renderStart, speedIndex from httparchive:runs.2013_11_15_pages where url like '%google%'),
(SELECT 'mobile' type, 'google' property, renderStart, speedIndex from httparchive:runs.2013_11_15_pages_mobile where url like '%google%'),
(SELECT 'desktop' type, 'yahoo' property, renderStart, speedIndex from httparchive:runs.2013_11_15_pages where url like '%yahoo%'),
(SELECT 'mobile' type, 'yahoo' property, renderStart, speedIndex from httparchive:runs.2013_11_15_pages_mobile where url like '%yahoo%'),

(SELECT 'desktop' type, 'facebook' property, renderStart, speedIndex from httparchive:runs.2013_11_01_pages where url like '%facebook%'),
(SELECT 'mobile' type, 'facebook' property, renderStart, speedIndex from httparchive:runs.2013_11_01_pages_mobile where url like '%facebook%'),
(SELECT 'desktop' type, 'google' property, renderStart, speedIndex from httparchive:runs.2013_11_01_pages where url like '%google%'),
(SELECT 'mobile' type, 'google' property, renderStart, speedIndex from httparchive:runs.2013_11_01_pages_mobile where url like '%google%'),
(SELECT 'desktop' type, 'yahoo' property, renderStart, speedIndex from httparchive:runs.2013_11_01_pages where url like '%yahoo%'),
(SELECT 'mobile' type, 'yahoo' property, renderStart, speedIndex from httparchive:runs.2013_11_01_pages_mobile where url like '%yahoo%'),

(SELECT 'desktop' type, 'facebook' property, renderStart, speedIndex from httparchive:runs.2013_10_15_pages where url like '%facebook%'),
(SELECT 'mobile' type, 'facebook' property, renderStart, speedIndex from httparchive:runs.2013_10_15_pages_mobile where url like '%facebook%'),
(SELECT 'desktop' type, 'google' property, renderStart, speedIndex from httparchive:runs.2013_10_15_pages where url like '%google%'),
(SELECT 'mobile' type, 'google' property, renderStart, speedIndex from httparchive:runs.2013_10_15_pages_mobile where url like '%google%'),
(SELECT 'desktop' type, 'yahoo' property, renderStart, speedIndex from httparchive:runs.2013_10_15_pages where url like '%yahoo%'),
(SELECT 'mobile' type, 'yahoo' property, renderStart, speedIndex from httparchive:runs.2013_10_15_pages_mobile where url like '%yahoo%'),

(SELECT 'desktop' type, 'facebook' property, renderStart, speedIndex from httparchive:runs.2013_10_01_pages where url like '%facebook%'),
(SELECT 'mobile' type, 'facebook' property, renderStart, speedIndex from httparchive:runs.2013_10_01_pages_mobile where url like '%facebook%'),
(SELECT 'desktop' type, 'google' property, renderStart, speedIndex from httparchive:runs.2013_10_01_pages where url like '%google%'),
(SELECT 'mobile' type, 'google' property, renderStart, speedIndex from httparchive:runs.2013_10_01_pages_mobile where url like '%google%'),
(SELECT 'desktop' type, 'yahoo' property, renderStart, speedIndex from httparchive:runs.2013_10_01_pages where url like '%yahoo%'),
(SELECT 'mobile' type, 'yahoo' property, renderStart, speedIndex from httparchive:runs.2013_10_01_pages_mobile where url like '%yahoo%'),

(SELECT 'desktop' type, 'facebook' property, renderStart, speedIndex from httparchive:runs.2013_09_15_pages where url like '%facebook%'),
(SELECT 'mobile' type, 'facebook' property, renderStart, speedIndex from httparchive:runs.2013_09_15_pages_mobile where url like '%facebook%'),
(SELECT 'desktop' type, 'google' property, renderStart, speedIndex from httparchive:runs.2013_09_15_pages where url like '%google%'),
(SELECT 'mobile' type, 'google' property, renderStart, speedIndex from httparchive:runs.2013_09_15_pages_mobile where url like '%google%'),
(SELECT 'desktop' type, 'yahoo' property, renderStart, speedIndex from httparchive:runs.2013_09_15_pages where url like '%yahoo%'),
(SELECT 'mobile' type, 'yahoo' property, renderStart, speedIndex from httparchive:runs.2013_09_15_pages_mobile where url like '%yahoo%'),

(SELECT 'desktop' type, 'facebook' property, renderStart, speedIndex from httparchive:runs.2013_09_01_pages where url like '%facebook%'),
(SELECT 'mobile' type, 'facebook' property, renderStart, speedIndex from httparchive:runs.2013_09_01_pages_mobile where url like '%facebook%'),
(SELECT 'desktop' type, 'google' property, renderStart, speedIndex from httparchive:runs.2013_09_01_pages where url like '%google%'),
(SELECT 'mobile' type, 'google' property, renderStart, speedIndex from httparchive:runs.2013_09_01_pages_mobile where url like '%google%'),
(SELECT 'desktop' type, 'yahoo' property, renderStart, speedIndex from httparchive:runs.2013_09_01_pages where url like '%yahoo%'),
(SELECT 'mobile' type, 'yahoo' property, renderStart, speedIndex from httparchive:runs.2013_09_01_pages_mobile where url like '%yahoo%'),

(SELECT 'desktop' type, 'facebook' property, renderStart, speedIndex from httparchive:runs.2013_08_15_pages where url like '%facebook%'),
(SELECT 'mobile' type, 'facebook' property, renderStart, speedIndex from httparchive:runs.2013_08_15_pages_mobile where url like '%facebook%'),
(SELECT 'desktop' type, 'google' property, renderStart, speedIndex from httparchive:runs.2013_08_15_pages where url like '%google%'),
(SELECT 'mobile' type, 'google' property, renderStart, speedIndex from httparchive:runs.2013_08_15_pages_mobile where url like '%google%'),
(SELECT 'desktop' type, 'yahoo' property, renderStart, speedIndex from httparchive:runs.2013_08_15_pages where url like '%yahoo%'),
(SELECT 'mobile' type, 'yahoo' property, renderStart, speedIndex from httparchive:runs.2013_08_15_pages_mobile where url like '%yahoo%'),

(SELECT 'desktop' type, 'facebook' property, renderStart, speedIndex from httparchive:runs.2013_08_01_pages where url like '%facebook%'),
(SELECT 'mobile' type, 'facebook' property, renderStart, speedIndex from httparchive:runs.2013_08_01_pages_mobile where url like '%facebook%'),
(SELECT 'desktop' type, 'google' property, renderStart, speedIndex from httparchive:runs.2013_08_01_pages where url like '%google%'),
(SELECT 'mobile' type, 'google' property, renderStart, speedIndex from httparchive:runs.2013_08_01_pages_mobile where url like '%google%'),
(SELECT 'desktop' type, 'yahoo' property, renderStart, speedIndex from httparchive:runs.2013_08_01_pages where url like '%yahoo%'),
(SELECT 'mobile' type, 'yahoo' property, renderStart, speedIndex from httparchive:runs.2013_08_01_pages_mobile where url like '%yahoo%'),

(SELECT 'desktop' type, 'facebook' property, renderStart, speedIndex from httparchive:runs.2013_07_01_pages where url like '%facebook%'),
(SELECT 'mobile' type, 'facebook' property, renderStart, speedIndex from httparchive:runs.2013_07_01_pages_mobile where url like '%facebook%'),
(SELECT 'desktop' type, 'google' property, renderStart, speedIndex from httparchive:runs.2013_07_01_pages where url like '%google%'),
(SELECT 'mobile' type, 'google' property, renderStart, speedIndex from httparchive:runs.2013_07_01_pages_mobile where url like '%google%'),
(SELECT 'desktop' type, 'yahoo' property, renderStart, speedIndex from httparchive:runs.2013_07_01_pages where url like '%yahoo%'),
(SELECT 'mobile' type, 'yahoo' property, renderStart, speedIndex from httparchive:runs.2013_07_01_pages_mobile where url like '%yahoo%'),

(SELECT 'desktop' type, 'facebook' property, renderStart, speedIndex from httparchive:runs.2013_06_15_pages where url like '%facebook%'),
(SELECT 'mobile' type, 'facebook' property, renderStart, speedIndex from httparchive:runs.2013_06_15_pages_mobile where url like '%facebook%'),
(SELECT 'desktop' type, 'google' property, renderStart, speedIndex from httparchive:runs.2013_06_15_pages where url like '%google%'),
(SELECT 'mobile' type, 'google' property, renderStart, speedIndex from httparchive:runs.2013_06_15_pages_mobile where url like '%google%'),
(SELECT 'desktop' type, 'yahoo' property, renderStart, speedIndex from httparchive:runs.2013_06_15_pages where url like '%yahoo%'),
(SELECT 'mobile' type, 'yahoo' property, renderStart, speedIndex from httparchive:runs.2013_06_15_pages_mobile where url like '%yahoo%'),

(SELECT 'desktop' type, 'facebook' property, renderStart, speedIndex from httparchive:runs.2013_06_01_pages where url like '%facebook%'),
(SELECT 'mobile' type, 'facebook' property, renderStart, speedIndex from httparchive:runs.2013_06_01_pages_mobile where url like '%facebook%'),
(SELECT 'desktop' type, 'google' property, renderStart, speedIndex from httparchive:runs.2013_06_01_pages where url like '%google%'),
(SELECT 'mobile' type, 'google' property, renderStart, speedIndex from httparchive:runs.2013_06_01_pages_mobile where url like '%google%'),
(SELECT 'desktop' type, 'yahoo' property, renderStart, speedIndex from httparchive:runs.2013_06_01_pages where url like '%yahoo%'),
(SELECT 'mobile' type, 'yahoo' property, renderStart, speedIndex from httparchive:runs.2013_06_01_pages_mobile where url like '%yahoo%')

Using R, then, I plotted histograms:
Yahoo Desktop


Yahoo Mobile


Google Desktop


Google Mobile


Facebook Desktop


Facebook Mobile

I cleaned the data, a bit, by considering speedIndex > 10s as outliers.

The results are interesting. Each graph shows bins, density, mean, median values:

  1. For start render times on desktop, Google sites show best results (eyeballing the distribution) followed by Yahoo followed by Facebook. On mobile, looks like the same pattern although it’s difficult to draw conclusions due to low samples on Yahoo and Facebook.
  2. For speed index times, it’s the same patterns.
  3. This showed that for these three sites, start render was well correlated to speed index, in terms of page performance.
1 Like