Repository: GoogleChrome/lighthouse
Pull request #9910 (2019-11-01 21:01:17)

core(lantern): Remove min task duration from lantern graphs
This PR removes the minimum task duration from the page dependency graph in order to retain necessary edges. For example, this fixes at least two cases of missing paths in the lantern graph:

1. Script `A` creates an iframe that issues request `B`
2. An XHR load event handler of request `A` fires request `B`

In both cases the Lantern graph lacks the `A -> B` whenever the intermediate CPU nodes are fast (< 10 ms). We have observed wrong simulation results due to these issues in the Publisher Ads Audits plugin.

I suspect this PR may reduce some variance in cases where sites have some tasks that waffle around the 10 ms threshold (i.e. a particular task may non-deterministically included in the graph).

To mitigate run time, I minimize the graph size by pruning short tasks while inserting edges to retain paths between dependencies and dependents. For example, `a -> b -> c` becomes `a -> c` if `b` is a short task.

brendankenny: > Feedback would be appreciated on whether I'm missing any important considerations.

we tried this somewhere recently and it slowed down Lighthouse execution time significantly if we dropped the minimum completely. I can't find where that was though. @patrickhulce, do you remember?
patrickhulce: ya some friends running LH tried this and it doubled total runtime, there are *a lot* of tasks under 10ms :/ https://github.com/GoogleChrome/lighthouse/issues/9627#issuecomment-535981079

I think we do need to start including *some* tasks under our threshold, but we need to be more selective about it. we've already identified that the first paint/layout/parsehtml events should be saved regardless of length (https://github.com/GoogleChrome/lighthouse/issues/9627#issuecomment-526699524), are there other specific patterns of tasks that we could be saving without removing the optimization entirely @warrengm that would help you out? :)

patrickhulce: The other alternative here is to try to radically improve the runtime of simulation with large numbers of tasks. There's likely some low hanging fruit we could tackle to improve things and lower the threshold but I doubt there's enough to let us include *all* tasks, we run quite a few simulations per run.
connorjclark: > we run quite a few simulations per run.

can we look into parallelizing simulation? wasm / workers?
patrickhulce: > can we look into parallelizing simulation? wasm / workers?

doing a `Promise.all` on audit computation and making the simulation somehow async off the main thread would certainly solve that problem, but the complexity of introducing workers to our flow seems like an order of magnitude above being slightly more careful here right now :)

certainly an interesting long-term solution to explore though as we increase the amount of analysis with js parsing and other heavy handed audit tasks
warrengm: I'll look into this a bit more. I think it should be relatively easy to determine which tasks should be kept by checking which tasks end up in the unfiltered lantern graph between network nodes. But I don't have a good sense on how much that will reduce the size. Hopefully we can do a simple filter on task name without having more complicated heuristics.

I briefly considered adding some external controls for callers. For example LCP simulations probably don't need the entire graph, but I'm not sure that's worth the complexity.

Any algorithm optimizations SGTM but I'm not so familiar with the LH codebase so I'll leave that to you all
warrengm: @patrickhulce What are the main factors into lantern speed? For example, does the number of children in a `CPUNode` matter? Or is the runtime dominate purely by the number of edges and nodes in the graph?

I think most of the events we care about are children of a `RunTask` event node but I think we could potentially prune the children if that would have a positive impact on runtime.
patrickhulce: > What are the main factors into lantern speed? 

Largely dominated by the number of nodes in the graph. A CPUNode is created for every toplevel main thread task above the threshold, so by keeping that threshold high we limit the number of nodes in the graph that can slow things down.

> For example, does the number of children in a CPUNode matter? 

Only a marginal effect. 

> I think most of the events we care about are children of a RunTask event node but I think we could potentially prune the children if that would have a positive impact on runtime.

Based on this and your original problem statement it sounds like we basically only want to look at these nodes for the purposes of creating relationships between other network nodes. I definitely see how this could meaningful improve accuracy so how about this....

- Remove the threshold for CPU tasks on *initial* graph creation to build out the edges.
- Before returning the created graph, do a pass on the graph to filter out small CPU nodes *but preserve the dependencies that node would have created between other nodes*.

i.e.

```
NetworkNode (/xhr-1.json) <-- CPUNode (XHR Callback, 2ms) <-- NetworkNode (/xhr-2.json)
```

becomes


```
NetworkNode (/xhr-1.json) <-- NetworkNode (/xhr-2.json)
```

instead of the situation today

```
NetworkNode (/xhr-1.json)
NetworkNode (/xhr-2.json)
```

warrengm: Made a couple changes since the original PR

- Pruning the graph per Patrick's suggestion. I added a pass to CPU nodes to filter out short tasks with 0 or 1 incoming/outgoing edges.
- Limiting the children of `CpuNode`s to a set of relevant event nodes. I think this should work from a correctness perspective, but PTAL if this a reasonable change.
- Using sets rather than arrays to store edges in `Node`. But this may not have a large amount of impact in practice if the arrays are already small.
warrengm: Started working on (1). I made some changes so the version you looked at is slightly out of date now, but MLB and vine are still two of the most affected sites.
- For MLB (which is now more accurate), most of the shift seems to come from new `TimerInstall` and `TimerFire` nodes.
- For vine, there are some new edges between network nodes from, probably from `ResourceSendRequest` events

From what I can tell, the new short nodes are always pruned in my current implementation so the effect seems to be purely from introducing new edges.
warrengm: I did some analysis by gradually introducing the new edges and got the following. My initial reaction is that the results seem acceptable. The biggest regression (in % terms) appears to be Vine, but the new paths between network nodes and `ResourceReceivedData` CPU nodes appear reasonable.

## Adding short timer events

```
Metric                    p50 (% Error)        p90 (% Error)        p95 (% Error)       
roughEstimateOfFCP        16.2% ↔  0.0%        47.6% ↔  0.0%        61.0% ↔  0.0%       
roughEstimateOfFMP        16.4% ↔  0.0%        49.7% ↔  0.0%        57.8% ↔  0.0%       
roughEstimateOfTTFCPUI    22.2% ↔  0.0%        54.5% ↔  0.0%        75.0% ↔  0.0%       
roughEstimateOfTTI        23.6% ↔  0.0%        57.0% ↔  0.0%        107.1% ↔  0.0%      
roughEstimateOfSI         34.9% ↔  0.0%        75.0% ↔  0.0%        83.1% ↔  0.0%       
 
 ------- Fixes Summary -------
TTFCPUI on http://www.rakuten.ne.jp/ - 21867 (real) 14376 (cur) 13257 (prev)
TTFCPUI on https://weather.com/ - 10046 (real) 22804 (cur) 23104 (prev)
TTI on http://www.rakuten.ne.jp/ - 32059 (real) 23769 (cur) 23108 (prev)
TTFCPUI on http://www.metrolyrics.com/ - 27321 (real) 39256 (cur) 39593 (prev)
 
 ------- Regression Summary -------
TTI on http://www.skype.com/ - 7108 (real) 7654 (cur) 7554 (prev)
TTFCPUI on http://www.dawn.com/ - 8296 (real) 13859 (cur) 13751 (prev)
TTI on http://www.dawn.com/ - 12021 (real) 16330 (cur) 16175 (prev)
TTI on http://www.ynet.com/ - 4546 (real) 8153 (cur) 8096 (prev)
 
 ------- Bucket Summary -------
Good:      243   ↔  0
OK:        180   ↔  0
Bad:       71    ↔  0
 
 ------- % Error Summary -------
p50:       20.6% ↔  0.0%
p90:       56.1% ↔  0.0%
p95:       78.1% ↔  0.0%
 
 
Comparing to master computed values...
❌  FAIL    16 change(s) between expected and computed!
```


## Adding short Timer, XHR, and ResourceSendRequest events
 
```
Metric                    p50 (% Error)        p90 (% Error)        p95 (% Error)       
roughEstimateOfFCP        16.2% ↔  0.0%        47.6% ↔  0.0%        61.0% ↔  0.0%       
roughEstimateOfFMP        16.4% ↔  0.0%        49.7% ↔  0.0%        57.8% ↔  0.0%       
roughEstimateOfTTFCPUI    21.3% ↓  0.9%        53.5% ↓  1.0%        75.0% ↔  0.0%       
roughEstimateOfTTI        23.6% ↔  0.0%        57.0% ↔  0.0%        107.1% ↔  0.0%      
roughEstimateOfSI         34.9% ↔  0.0%        75.0% ↔  0.0%        83.1% ↔  0.0%       
 
 ------- Fixes Summary -------
TTFCPUI on http://www.mlb.com/ - 23530 (real) 26390 (cur) 8141 (prev)
TTFCPUI on http://www.rakuten.ne.jp/ - 21867 (real) 14376 (cur) 13257 (prev)
TTFCPUI on https://vine.co/ - 7685 (real) 8276 (cur) 6822 (prev)
TTFCPUI on http://www.t-online.de/ - 20325 (real) 23033 (cur) 23649 (prev)
 
 ------- Regression Summary -------
TTI on https://vine.co/ - 7685 (real) 8572 (cur) 7846 (prev)
TTFCPUI on http://www.verizonwireless.com/ - 12468 (real) 14246 (cur) 13945 (prev)
TTI on http://www.skype.com/ - 7108 (real) 7691 (cur) 7554 (prev)
TTI on http://www.orange.fr/ - 14159 (real) 15495 (cur) 15250 (prev)
 
 ------- Bucket Summary -------
Good:      244   ↔  1
OK:        180   ↔  0
Bad:       70    ↓  1
 
 ------- % Error Summary -------
p50:       20.4% ↓  0.2%
p90:       55.4% ↓  0.6%
p95:       78.1% ↔  0.0%

Comparing to master computed values...
❌  FAIL    28 change(s) between expected and computed!
```

## Adding in all new edges

``` 
Metric                    p50 (% Error)        p90 (% Error)        p95 (% Error)       
roughEstimateOfFCP        16.2% ↔  0.0%        47.6% ↔  0.0%        61.0% ↔  0.0%       
roughEstimateOfFMP        16.2% ↓  0.2%        49.7% ↔  0.0%        57.8% ↔  0.0%       
roughEstimateOfTTFCPUI    21.3% ↓  0.9%        53.5% ↓  1.0%        75.0% ↔  0.0%       
roughEstimateOfTTI        23.6% ↔  0.0%        57.0% ↔  0.0%        107.2% ↔  0.1%      
roughEstimateOfSI         34.9% ↔  0.0%        75.0% ↔  0.0%        83.1% ↔  0.0%       
 
 ------- Fixes Summary -------
TTFCPUI on http://www.mlb.com/ - 23530 (real) 26178 (cur) 8141 (prev)
FMP on http://www.metacafe.com/ - 1665 (real) 1849 (cur) 2048 (prev)
TTFCPUI on http://www.rakuten.ne.jp/ - 21867 (real) 14376 (cur) 13257 (prev)
TTFCPUI on https://vine.co/ - 7685 (real) 8276 (cur) 6822 (prev)
 
 ------- Regression Summary -------
TTI on https://vine.co/ - 7685 (real) 8572 (cur) 7846 (prev)
TTFCPUI on http://www.verizonwireless.com/ - 12468 (real) 14246 (cur) 13945 (prev)
TTI on http://www.skype.com/ - 7108 (real) 7691 (cur) 7554 (prev)
TTI on http://www.orange.fr/ - 14159 (real) 15495 (cur) 15250 (prev)
 
 ------- Bucket Summary -------
Good:      245   ↔  2
OK:        179   ↔  1
Bad:       70    ↓  1
 
 ------- % Error Summary -------
p50:       20.4% ↓  0.2%
p90:       55.4% ↓  0.6%
p95:       78.1% ↔  0.0%
 
 
Comparing to master computed values...
❌  FAIL    31 change(s) between expected and computed!
```
patrickhulce: Awesome job @warrengm! This is much *much* better accuracy-wise was it just the move to the second pass that improved things since I took a look?

I'd say we can upgrade this from a draft then, get some tests in, split off the `Set` changes, and re-analyze the run time to see if it's workable without major algo changes 👍 
warrengm: I've been busy with some other work but I've started working on unit tests now. In the meantime, here is the result of some performance testing in aggregate. There don't seem to be any major performance issue.

## Running on all assets

Master:
```
multitime -q -n 40 node lighthouse-core/scripts/lantern/run-on-all-assets.js 
===> multitime results
1: -q node lighthouse-core/scripts/lantern/run-on-all-assets.js
            Mean        Std.Dev.    Min         Median      Max
real        77.964      2.622       73.685      77.929      83.838      
user        102.721     1.762       99.885      102.474     106.364     
sys         8.601       0.201       8.033       8.602       9.174   
```

My branch:
```
multitime -q -n 40 node lighthouse-core/scripts/lantern/run-on-all-assets.js 
===> multitime results
1: -q node lighthouse-core/scripts/lantern/run-on-all-assets.js
            Mean        Std.Dev.    Min         Median      Max
real        75.776      1.630       73.086      75.526      81.881      
user        101.777     1.132       99.776      101.645     105.934     
sys         8.665       0.215       8.226       8.660       9.254  
```

## mlb.com
Master
```
===> multitime results
            Mean        Std.Dev.    Min         Median      Max
real        1.028       0.056       0.922       1.038       1.123       
user        1.354       0.053       1.259       1.344       1.446       
sys         0.104       0.023       0.054       0.101       0.16
```

My branch
```
===> multitime results
            Mean        Std.Dev.    Min         Median      Max
real        1.008       0.060       0.882       1.016       1.132       
user        1.359       0.051       1.260       1.363       1.479       
sys         0.095       0.019       0.055       0.095       0.141 
```

## weather.com

Master

```
            Mean        Std.Dev.    Min         Median      Max
real        1.163       0.103       0.996       1.169       1.500       
user        1.515       0.087       1.351       1.523       1.716       
sys         0.100       0.015       0.073       0.096       0.136   
```

My branch

```
            Mean        Std.Dev.    Min         Median      Max
real        1.134       0.077       0.998       1.132       1.316       
user        1.517       0.067       1.367       1.512       1.665       
sys         0.097       0.018       0.053       0.096       0.152      
```

Patch:
diff --git a/clients/devtools-entry.js b/clients/devtools-entry.js
index fd9e8d333..b0b43c67a 100644
--- a/clients/devtools-entry.js
+++ b/clients/devtools-entry.js
@@ -29,19 +29,10 @@ function getDefaultConfigForCategories(categoryIDs) {
 
 /**
  * @param {RawProtocol.Port} port
- * @param {string} url
- * @param {LH.Flags} flags Lighthouse flags.
- * @param {Array<string>} categoryIDs Name values of categories to include.
- * @return {Promise<LH.RunnerResult|void>}
+ * @returns {RawProtocol}
  */
-function runLighthouseInWorker(port, url, flags, categoryIDs) {
-  // Default to 'info' logging level.
-  flags.logLevel = flags.logLevel || 'info';
-  flags.channel = 'devtools';
-  const config = getDefaultConfigForCategories(categoryIDs);
-  const connection = new RawProtocol(port);
-
-  return lighthouse(url, flags, config, connection);
+function setUpWorkerConnection(port) {
+  return new RawProtocol(port);
 }
 
 /** @param {(status: [string, string, string]) => void} listenCallback */
@@ -52,7 +43,9 @@ function listenForStatus(listenCallback) {
 if (typeof module !== 'undefined' && module.exports) {
   // export for require()ing (via browserify).
   module.exports = {
-    runLighthouseInWorker,
+    setUpWorkerConnection,
+    lighthouse,
+    getDefaultConfigForCategories,
     listenForStatus,
     registerLocaleData,
     lookupLocale,
@@ -63,7 +56,11 @@ if (typeof module !== 'undefined' && module.exports) {
 // @ts-ignore
 if (typeof self !== 'undefined') {
   // @ts-ignore
-  self.runLighthouseInWorker = runLighthouseInWorker;
+  self.setUpWorkerConnection = setUpWorkerConnection;
+  // @ts-ignore
+  self.runLighthouse = lighthouse;
+  // @ts-ignore
+  self.getDefaultConfigForCategories = getDefaultConfigForCategories;
   // @ts-ignore
   self.listenForStatus = listenForStatus;
   // @ts-ignore
diff --git a/lighthouse-core/computed/page-dependency-graph.js b/lighthouse-core/computed/page-dependency-graph.js
index fe6a4482a..4a4692dba 100644
--- a/lighthouse-core/computed/page-dependency-graph.js
+++ b/lighthouse-core/computed/page-dependency-graph.js
@@ -16,8 +16,9 @@ const NetworkRecords = require('./network-records.js');
 
 /** @typedef {import('../lib/dependency-graph/base-node.js').Node} Node */
 
-// Tasks smaller than 10 ms have minimal impact on simulation
-const MINIMUM_TASK_DURATION_OF_INTEREST = 10;
+// Shorter tasks have negligible impact on simulation results.
+const SIGNIFICANT_DUR_THRESHOLD_MS = 10;
+
 // TODO: video files tend to be enormous and throw off all graph traversals, move this ignore
 //    into estimation logic when we use the dependency graph for other purposes.
 const IGNORED_MIME_TYPES_REGEX = /^video/;
@@ -111,24 +112,18 @@ class PageDependencyGraph {
 
     TracingProcessor.assertHasToplevelEvents(traceOfTab.mainThreadEvents);
 
-    const minimumEvtDur = MINIMUM_TASK_DURATION_OF_INTEREST * 1000;
     while (i < traceOfTab.mainThreadEvents.length) {
       const evt = traceOfTab.mainThreadEvents[i];
+      i++;
 
       // Skip all trace events that aren't schedulable tasks with sizable duration
-      if (
-        !TracingProcessor.isScheduleableTask(evt) ||
-        !evt.dur ||
-        evt.dur < minimumEvtDur
-      ) {
-        i++;
+      if (!TracingProcessor.isScheduleableTask(evt) || !evt.dur) {
         continue;
       }
 
       // Capture all events that occurred within the task
       /** @type {Array<LH.TraceEvent>} */
       const children = [];
-      i++; // Start examining events after this one
       for (
         const endTime = evt.ts + evt.dur;
         i < traceOfTab.mainThreadEvents.length && traceOfTab.mainThreadEvents[i].ts < endTime;
@@ -308,6 +303,39 @@ class PageDependencyGraph {
         node.addDependency(rootNode);
       }
     }
+
+    // Second pass to prune the graph of short tasks.
+    for (const node of cpuNodes) {
+      if (node.event.dur >= SIGNIFICANT_DUR_THRESHOLD_MS * 1000) {
+        // Don't prune this node. The task is long so it will impact simulation.
+        continue;
+      }
+      // Prune the node if it isn't highly connected to minimize graph size. Rewiring the graph
+      // here replaces O(M + N) edges with (M * N) edges, which is fine if either  M or N is at
+      // most 1.
+      if (node.getNumberOfDependencies() === 1 || node.getNumberOfDependents() <= 1) {
+        PageDependencyGraph._pruneNode(node);
+      }
+    }
+  }
+
+  /**
+   * Removes the given node from the graph, but retains all paths between its dependencies and
+   * dependents.
+   * @param {Node} node
+   */
+  static _pruneNode(node) {
+    const dependencies = node.getDependencies();
+    const dependents = node.getDependents();
+    for (const dependency of dependencies) {
+      node.removeDependency(dependency);
+      for (const dependent of dependents) {
+        dependency.addDependent(dependent);
+      }
+    }
+    for (const dependent of dependents) {
+      node.removeDependent(dependent);
+    }
   }
 
   /**
diff --git a/lighthouse-core/lib/dependency-graph/base-node.js b/lighthouse-core/lib/dependency-graph/base-node.js
index c3638e60c..af0dcb1fc 100644
--- a/lighthouse-core/lib/dependency-graph/base-node.js
+++ b/lighthouse-core/lib/dependency-graph/base-node.js
@@ -85,6 +85,13 @@ class BaseNode {
     return this._dependents.slice();
   }
 
+  /**
+   * @return {number}
+   */
+  getNumberOfDependents() {
+    return this._dependents.length;
+  }
+
   /**
    * @return {Node[]}
    */
diff --git a/readme.md b/readme.md
index 40ca56d24..6b5473944 100644
--- a/readme.md
+++ b/readme.md
@@ -293,6 +293,8 @@ This section details services that have integrated Lighthouse data. If you're wo
 
 * **[Lighthouse Keeper](https://lighthouse-keeper.com/)** - Lighthouse Keeper monitors your pages' Lighthouse scores and notifies you if they drop below your thresholds. Lighthouse Keeper is a free service that monitors up to 3 URLs once per day.
 
+* **[PageSpeed Green](https://pagespeed.green/)** - New web performance monitoring service for web pages. For now, you can track PageSpeed performance indicators for unlimited domains and web pages. Powered By Google Lighthouse and Puppeteer. PageSpeed Green is a paid product with a free 30-day trial.
+
 * **[SpeedCurve](https://speedcurve.com)** — SpeedCurve is a tool for continuously monitoring web performance across different browsers, devices, and regions. It can aggregate any metric including Lighthouse scores across multiple pages and sites, and allows you to set performance budgets with Slack or email alerts. SpeedCurve is a paid product with a free 30-day trial.
 
 * **[Speedrank](https://speedrank.app)** - Speedrank monitors the performance of your website in the background. It displays Lighthouse reports over time and delivers recommendations for improvement. Speedrank is a paid product with 14-day-trial.


Test patch:
diff --git a/lighthouse-core/test/computed/page-dependency-graph-test.js b/lighthouse-core/test/computed/page-dependency-graph-test.js
index eced59907..fdf640f55 100644
--- a/lighthouse-core/test/computed/page-dependency-graph-test.js
+++ b/lighthouse-core/test/computed/page-dependency-graph-test.js
@@ -272,6 +272,7 @@ describe('PageDependencyGraph computed artifact:', () => {
 
       const getDependencyIds = node => node.getDependencies().map(node => node.id);
 
+      assert.equal(nodes.length, 7);
       assert.deepEqual(getDependencyIds(nodes[0]), []);
       assert.deepEqual(getDependencyIds(nodes[1]), [1, '1.200000']);
       assert.deepEqual(getDependencyIds(nodes[2]), [1]);
@@ -281,6 +282,91 @@ describe('PageDependencyGraph computed artifact:', () => {
       assert.deepEqual(getDependencyIds(nodes[6]), [4]);
     });
 
+    it('should prune short tasks', () => {
+      const request0 = createRequest(0, '0', 0);
+      const request1 = createRequest(1, '1', 100, null, NetworkRequest.TYPES.Script);
+      const request2 = createRequest(2, '2', 200, null, NetworkRequest.TYPES.XHR);
+      const request3 = createRequest(3, '3', 300, null, NetworkRequest.TYPES.Script);
+      const request4 = createRequest(4, '4', 400, null, NetworkRequest.TYPES.XHR);
+      const networkRecords = [request0, request1, request2, request3, request4];
+
+      // Long task, should be kept in the output.
+      addTaskEvents(120, 50, [
+        {name: 'EvaluateScript', data: {url: '1'}},
+        {name: 'ResourceSendRequest', data: {requestId: 2}},
+        {name: 'XHRReadyStateChange', data: {readyState: 4, url: '2'}},
+      ]);
+
+      // Short task, should be pruned, but the 3->4 relationship should be retained
+      addTaskEvents(350, 5, [
+        {name: 'EvaluateScript', data: {url: '3'}},
+        {name: 'ResourceSendRequest', data: {requestId: 4}},
+        {name: 'XHRReadyStateChange', data: {readyState: 4, url: '4'}},
+      ]);
+
+      const graph = PageDependencyGraph.createGraph(traceOfTab, networkRecords);
+      const nodes = [];
+      graph.traverse(node => nodes.push(node));
+
+      const getDependencyIds = node => node.getDependencies().map(node => node.id);
+
+      assert.equal(nodes.length, 6);
+
+      assert.deepEqual(getDependencyIds(nodes[0]), []);
+      assert.deepEqual(getDependencyIds(nodes[1]), [0]);
+      assert.deepEqual(getDependencyIds(nodes[2]), [0, '1.120000']);
+      assert.deepEqual(getDependencyIds(nodes[3]), [0]);
+      assert.deepEqual(getDependencyIds(nodes[4]), [0, 3]);
+
+      assert.equal('1.120000', nodes[5].id);
+      assert.deepEqual(getDependencyIds(nodes[5]), [1]);
+    });
+
+    it('should not prune highly-connected short tasks', () => {
+      const request0 = createRequest(0, '0', 0);
+      const request1 = {
+        ...createRequest(1, '1', 100, null, NetworkRequest.TYPES.Document),
+        documentURL: '1',
+        frameId: 'frame1',
+      };
+      const request2 = {
+        ...createRequest(2, '2', 200, null, NetworkRequest.TYPES.Script),
+        documentURL: '1',
+        frameId: 'frame1',
+      };
+      const request3 = createRequest(3, '3', 300, null, NetworkRequest.TYPES.XHR);
+      const request4 = createRequest(4, '4', 400, null, NetworkRequest.TYPES.XHR);
+      const networkRecords = [request0, request1, request2, request3, request4];
+
+      // Short task, evaluates script (2) and sends two XHRs.
+      addTaskEvents(220, 5, [
+        {name: 'EvaluateScript', data: {url: '2', frame: 'frame1'}},
+
+        {name: 'ResourceSendRequest', data: {requestId: 3}},
+        {name: 'XHRReadyStateChange', data: {readyState: 4, url: '3'}},
+
+        {name: 'ResourceSendRequest', data: {requestId: 4}},
+        {name: 'XHRReadyStateChange', data: {readyState: 4, url: '4'}},
+      ]);
+
+      const graph = PageDependencyGraph.createGraph(traceOfTab, networkRecords);
+      const nodes = [];
+      graph.traverse(node => nodes.push(node));
+
+      const getDependencyIds = node => node.getDependencies().map(node => node.id);
+
+      assert.equal(nodes.length, 6);
+
+      assert.deepEqual(getDependencyIds(nodes[0]), []);
+      assert.deepEqual(getDependencyIds(nodes[1]), [0]);
+      assert.deepEqual(getDependencyIds(nodes[2]), [0]);
+      assert.deepEqual(getDependencyIds(nodes[3]), [0, '1.220000']);
+      assert.deepEqual(getDependencyIds(nodes[4]), [0, '1.220000']);
+
+      assert.equal('1.220000', nodes[5].id);
+      assert.deepEqual(getDependencyIds(nodes[5]), [1, 2]);
+    });
+
     it('should set isMainDocument on first document request', () => {
       const request1 = createRequest(1, '1', 0, null, NetworkRequest.TYPES.Other);
       const request2 = createRequest(2, '2', 5, null, NetworkRequest.TYPES.Document);
diff --git a/lighthouse-core/test/fixtures/lantern-master-computed-values.json b/lighthouse-core/test/fixtures/lantern-master-computed-values.json
index c52b26c9c..b4050cbe7 100644
--- a/lighthouse-core/test/fixtures/lantern-master-computed-values.json
+++ b/lighthouse-core/test/fixtures/lantern-master-computed-values.json
@@ -1,8 +1,8 @@
 {
   "sites": [
     {"url": "https://flipkart.com", "roughEstimateOfFCP": 2661, "optimisticFCP": 2661, "pessimisticFCP": 2661, "roughEstimateOfFMP": 5860, "optimisticFMP": 5860, "pessimisticFMP": 5860, "roughEstimateOfTTI": 11313, "optimisticTTI": 10263, "pessimisticTTI": 12363, "roughEstimateOfTTFCPUI": 10263, "optimisticTTFCPUI": 10263, "pessimisticTTFCPUI": 12363, "roughEstimateOfSI": 6642, "optimisticSI": 3687, "pessimisticSI": 2661, "roughEstimateOfEIL": 766, "optimisticEIL": 957, "pessimisticEIL": 957},
-    {"url": "https://vine.co/", "roughEstimateOfFCP": 1851, "optimisticFCP": 1851, "pessimisticFCP": 1851, "roughEstimateOfFMP": 4962, "optimisticFMP": 4962, "pessimisticFMP": 4962, "roughEstimateOfTTI": 7846, "optimisticTTI": 6822, "pessimisticTTI": 8869, "roughEstimateOfTTFCPUI": 6822, "optimisticTTFCPUI": 6822, "pessimisticTTFCPUI": 8869, "roughEstimateOfSI": 4097, "optimisticSI": 2246, "pessimisticSI": 1851, "roughEstimateOfEIL": 961, "optimisticEIL": 1202, "pessimisticEIL": 1202},
-    {"url": "https://weather.com/", "roughEstimateOfFCP": 2461, "optimisticFCP": 2461, "pessimisticFCP": 2461, "roughEstimateOfFMP": 2461, "optimisticFMP": 2461, "pessimisticFMP": 2461, "roughEstimateOfTTI": 25692, "optimisticTTI": 23104, "pessimisticTTI": 28279, "roughEstimateOfTTFCPUI": 23104, "optimisticTTFCPUI": 23104, "pessimisticTTFCPUI": 28279, "roughEstimateOfSI": 4936, "optimisticSI": 2561, "pessimisticSI": 2461, "roughEstimateOfEIL": 2146, "optimisticEIL": 2683, "pessimisticEIL": 2683},
+    {"url": "https://vine.co/", "roughEstimateOfFCP": 1851, "optimisticFCP": 1851, "pessimisticFCP": 1851, "roughEstimateOfFMP": 4962, "optimisticFMP": 4962, "pessimisticFMP": 4962, "roughEstimateOfTTI": 8572, "optimisticTTI": 8276, "pessimisticTTI": 8869, "roughEstimateOfTTFCPUI": 8276, "optimisticTTFCPUI": 8276, "pessimisticTTFCPUI": 8869, "roughEstimateOfSI": 4097, "optimisticSI": 2246, "pessimisticSI": 1851, "roughEstimateOfEIL": 961, "optimisticEIL": 1202, "pessimisticEIL": 1202},
+    {"url": "https://weather.com/", "roughEstimateOfFCP": 2461, "optimisticFCP": 2461, "pessimisticFCP": 2461, "roughEstimateOfFMP": 2461, "optimisticFMP": 2461, "pessimisticFMP": 2461, "roughEstimateOfTTI": 25542, "optimisticTTI": 22804, "pessimisticTTI": 28279, "roughEstimateOfTTFCPUI": 22804, "optimisticTTFCPUI": 22804, "pessimisticTTFCPUI": 28279, "roughEstimateOfSI": 4936, "optimisticSI": 2561, "pessimisticSI": 2461, "roughEstimateOfEIL": 2146, "optimisticEIL": 2683, "pessimisticEIL": 2683},
     {"url": "http://www.4399.com/", "roughEstimateOfFCP": 3254, "optimisticFCP": 3254, "pessimisticFCP": 3254, "roughEstimateOfFMP": 3585, "optimisticFMP": 3585, "pessimisticFMP": 3585, "roughEstimateOfTTI": 4971, "optimisticTTI": 3585, "pessimisticTTI": 6356, "roughEstimateOfTTFCPUI": 3585, "optimisticTTFCPUI": 3296, "pessimisticTTFCPUI": 6356, "roughEstimateOfSI": 3254, "optimisticSI": 350, "pessimisticSI": 3254, "roughEstimateOfEIL": 13, "optimisticEIL": 16, "pessimisticEIL": 16},
     {"url": "http://www.4shared.com/", "roughEstimateOfFCP": 4037, "optimisticFCP": 4037, "pessimisticFCP": 4037, "roughEstimateOfFMP": 4037, "optimisticFMP": 4037, "pessimisticFMP": 4037, "roughEstimateOfTTI": 5217, "optimisticTTI": 4973, "pessimisticTTI": 5460, "roughEstimateOfTTFCPUI": 4973, "optimisticTTFCPUI": 4973, "pessimisticTTFCPUI": 5460, "roughEstimateOfSI": 4427, "optimisticSI": 1467, "pessimisticSI": 4037, "roughEstimateOfEIL": 51, "optimisticEIL": 63, "pessimisticEIL": 63},
     {"url": "http://www.56.com/", "roughEstimateOfFCP": 3894, "optimisticFCP": 3894, "pessimisticFCP": 3894, "roughEstimateOfFMP": 3894, "optimisticFMP": 3894, "pessimisticFMP": 3894, "roughEstimateOfTTI": 10587, "optimisticTTI": 4248, "pessimisticTTI": 16926, "roughEstimateOfTTFCPUI": 4248, "optimisticTTFCPUI": 4248, "pessimisticTTFCPUI": 2226, "roughEstimateOfSI": 10565, "optimisticSI": 5917, "pessimisticSI": 3894, "roughEstimateOfEIL": 13, "optimisticEIL": 16, "pessimisticEIL": 16},
@@ -10,37 +10,37 @@
     {"url": "http://www.7k7k.com/", "roughEstimateOfFCP": 5097, "optimisticFCP": 5091, "pessimisticFCP": 5102, "roughEstimateOfFMP": 5097, "optimisticFMP": 5091, "pessimisticFMP": 5102, "roughEstimateOfTTI": 9234, "optimisticTTI": 5966, "pessimisticTTI": 12502, "roughEstimateOfTTFCPUI": 5966, "optimisticTTFCPUI": 5966, "pessimisticTTFCPUI": 2780, "roughEstimateOfSI": 9554, "optimisticSI": 4634, "pessimisticSI": 5102, "roughEstimateOfEIL": 1669, "optimisticEIL": 2086, "pessimisticEIL": 2086},
     {"url": "http://www.addthis.com/", "roughEstimateOfFCP": 2843, "optimisticFCP": 2843, "pessimisticFCP": 2843, "roughEstimateOfFMP": 2843, "optimisticFMP": 2843, "pessimisticFMP": 2843, "roughEstimateOfTTI": 9096, "optimisticTTI": 8167, "pessimisticTTI": 10026, "roughEstimateOfTTFCPUI": 8167, "optimisticTTFCPUI": 8167, "pessimisticTTFCPUI": 10026, "roughEstimateOfSI": 3731, "optimisticSI": 1524, "pessimisticSI": 2843, "roughEstimateOfEIL": 167, "optimisticEIL": 209, "pessimisticEIL": 209},
     {"url": "http://www.alexa.com/", "roughEstimateOfFCP": 6525, "optimisticFCP": 6525, "pessimisticFCP": 6525, "roughEstimateOfFMP": 6847, "optimisticFMP": 6847, "pessimisticFMP": 6847, "roughEstimateOfTTI": 14402, "optimisticTTI": 13274, "pessimisticTTI": 15530, "roughEstimateOfTTFCPUI": 13274, "optimisticTTFCPUI": 13274, "pessimisticTTFCPUI": 15530, "roughEstimateOfSI": 7060, "optimisticSI": 2192, "pessimisticSI": 6525, "roughEstimateOfEIL": 416, "optimisticEIL": 520, "pessimisticEIL": 520},
-    {"url": "http://www.amazon.co.jp/", "roughEstimateOfFCP": 3059, "optimisticFCP": 3059, "pessimisticFCP": 3059, "roughEstimateOfFMP": 3163, "optimisticFMP": 3059, "pessimisticFMP": 3268, "roughEstimateOfTTI": 7491, "optimisticTTI": 6221, "pessimisticTTI": 8761, "roughEstimateOfTTFCPUI": 6221, "optimisticTTFCPUI": 6221, "pessimisticTTFCPUI": 8761, "roughEstimateOfSI": 4791, "optimisticSI": 2181, "pessimisticSI": 3059, "roughEstimateOfEIL": 262, "optimisticEIL": 328, "pessimisticEIL": 328},
-    {"url": "http://www.att.com/", "roughEstimateOfFCP": 4547, "optimisticFCP": 3734, "pessimisticFCP": 5359, "roughEstimateOfFMP": 5914, "optimisticFMP": 4718, "pessimisticFMP": 7111, "roughEstimateOfTTI": 28938, "optimisticTTI": 24370, "pessimisticTTI": 33505, "roughEstimateOfTTFCPUI": 24370, "optimisticTTFCPUI": 24370, "pessimisticTTFCPUI": 33505, "roughEstimateOfSI": 15846, "optimisticSI": 9009, "pessimisticSI": 5359, "roughEstimateOfEIL": 1542, "optimisticEIL": 1928, "pessimisticEIL": 1928},
+    {"url": "http://www.amazon.co.jp/", "roughEstimateOfFCP": 3059, "optimisticFCP": 3059, "pessimisticFCP": 3059, "roughEstimateOfFMP": 3163, "optimisticFMP": 3059, "pessimisticFMP": 3268, "roughEstimateOfTTI": 7494, "optimisticTTI": 6221, "pessimisticTTI": 8767, "roughEstimateOfTTFCPUI": 6221, "optimisticTTFCPUI": 6221, "pessimisticTTFCPUI": 8767, "roughEstimateOfSI": 4791, "optimisticSI": 2181, "pessimisticSI": 3059, "roughEstimateOfEIL": 262, "optimisticEIL": 328, "pessimisticEIL": 328},
+    {"url": "http://www.att.com/", "roughEstimateOfFCP": 4547, "optimisticFCP": 3734, "pessimisticFCP": 5359, "roughEstimateOfFMP": 5914, "optimisticFMP": 4718, "pessimisticFMP": 7111, "roughEstimateOfTTI": 28764, "optimisticTTI": 24222, "pessimisticTTI": 33306, "roughEstimateOfTTFCPUI": 24222, "optimisticTTFCPUI": 24222, "pessimisticTTFCPUI": 33306, "roughEstimateOfSI": 15846, "optimisticSI": 9009, "pessimisticSI": 5359, "roughEstimateOfEIL": 1542, "optimisticEIL": 1928, "pessimisticEIL": 1928},
     {"url": "http://www.bing.com/", "roughEstimateOfFCP": 826, "optimisticFCP": 826, "pessimisticFCP": 826, "roughEstimateOfFMP": 1281, "optimisticFMP": 903, "pessimisticFMP": 1658, "roughEstimateOfTTI": 4775, "optimisticTTI": 4187, "pessimisticTTI": 5363, "roughEstimateOfTTFCPUI": 4187, "optimisticTTFCPUI": 4187, "pessimisticTTFCPUI": 5363, "roughEstimateOfSI": 2263, "optimisticSI": 1412, "pessimisticSI": 826, "roughEstimateOfEIL": 558, "optimisticEIL": 698, "pessimisticEIL": 698},
     {"url": "http://www.blogspot.com/", "roughEstimateOfFCP": 3398, "optimisticFCP": 3398, "pessimisticFCP": 3398, "roughEstimateOfFMP": 3398, "optimisticFMP": 3398, "pessimisticFMP": 3398, "roughEstimateOfTTI": 3852, "optimisticTTI": 3794, "pessimisticTTI": 3910, "roughEstimateOfTTFCPUI": 3794, "optimisticTTFCPUI": 3794, "pessimisticTTFCPUI": 3910, "roughEstimateOfSI": 12140, "optimisticSI": 7272, "pessimisticSI": 3398, "roughEstimateOfEIL": 13, "optimisticEIL": 16, "pessimisticEIL": 16},
     {"url": "http://www.brothersoft.com/", "roughEstimateOfFCP": 1860, "optimisticFCP": 1764, "pessimisticFCP": 1956, "roughEstimateOfFMP": 2626, "optimisticFMP": 2626, "pessimisticFMP": 2626, "roughEstimateOfTTI": 15168, "optimisticTTI": 13200, "pessimisticTTI": 17136, "roughEstimateOfTTFCPUI": 13200, "optimisticTTFCPUI": 13200, "pessimisticTTFCPUI": 17136, "roughEstimateOfSI": 4244, "optimisticSI": 2302, "pessimisticSI": 1956, "roughEstimateOfEIL": 636, "optimisticEIL": 795, "pessimisticEIL": 795},
-    {"url": "http://www.china.com.cn/", "roughEstimateOfFCP": 4814, "optimisticFCP": 4166, "pessimisticFCP": 5462, "roughEstimateOfFMP": 4814, "optimisticFMP": 4166, "pessimisticFMP": 5462, "roughEstimateOfTTI": 6893, "optimisticTTI": 4773, "pessimisticTTI": 9012, "roughEstimateOfTTFCPUI": 4814, "optimisticTTFCPUI": 4773, "pessimisticTTFCPUI": 2707, "roughEstimateOfSI": 8687, "optimisticSI": 3848, "pessimisticSI": 5462, "roughEstimateOfEIL": 20, "optimisticEIL": 25, "pessimisticEIL": 25},
-    {"url": "http://www.cnet.com/", "roughEstimateOfFCP": 2162, "optimisticFCP": 1980, "pessimisticFCP": 2343, "roughEstimateOfFMP": 2512, "optimisticFMP": 1980, "pessimisticFMP": 3044, "roughEstimateOfTTI": 25014, "optimisticTTI": 20714, "pessimisticTTI": 29314, "roughEstimateOfTTFCPUI": 20714, "optimisticTTFCPUI": 20714, "pessimisticTTFCPUI": 29314, "roughEstimateOfSI": 4616, "optimisticSI": 2388, "pessimisticSI": 2343, "roughEstimateOfEIL": 1061, "optimisticEIL": 1326, "pessimisticEIL": 1326},
+    {"url": "http://www.china.com.cn/", "roughEstimateOfFCP": 4814, "optimisticFCP": 4166, "pessimisticFCP": 5462, "roughEstimateOfFMP": 4814, "optimisticFMP": 4166, "pessimisticFMP": 5462, "roughEstimateOfTTI": 6899, "optimisticTTI": 4786, "pessimisticTTI": 9012, "roughEstimateOfTTFCPUI": 4814, "optimisticTTFCPUI": 4786, "pessimisticTTFCPUI": 2707, "roughEstimateOfSI": 8687, "optimisticSI": 3848, "pessimisticSI": 5462, "roughEstimateOfEIL": 21, "optimisticEIL": 26, "pessimisticEIL": 26},
+    {"url": "http://www.cnet.com/", "roughEstimateOfFCP": 2162, "optimisticFCP": 1980, "pessimisticFCP": 2343, "roughEstimateOfFMP": 2512, "optimisticFMP": 1980, "pessimisticFMP": 3044, "roughEstimateOfTTI": 24748, "optimisticTTI": 20436, "pessimisticTTI": 29061, "roughEstimateOfTTFCPUI": 20436, "optimisticTTFCPUI": 20436, "pessimisticTTFCPUI": 29061, "roughEstimateOfSI": 4616, "optimisticSI": 2388, "pessimisticSI": 2343, "roughEstimateOfEIL": 1061, "optimisticEIL": 1326, "pessimisticEIL": 1326},
     {"url": "http://www.cntv.cn/", "roughEstimateOfFCP": 3597, "optimisticFCP": 3597, "pessimisticFCP": 3597, "roughEstimateOfFMP": 3597, "optimisticFMP": 3597, "pessimisticFMP": 3597, "roughEstimateOfTTI": 3747, "optimisticTTI": 3597, "pessimisticTTI": 3897, "roughEstimateOfTTFCPUI": 3597, "optimisticTTFCPUI": 3597, "pessimisticTTFCPUI": 3897, "roughEstimateOfSI": 4475, "optimisticSI": 1705, "pessimisticSI": 3597, "roughEstimateOfEIL": 13, "optimisticEIL": 16, "pessimisticEIL": 16},
     {"url": "http://www.conduit.com/", "roughEstimateOfFCP": 2107, "optimisticFCP": 2107, "pessimisticFCP": 2107, "roughEstimateOfFMP": 2107, "optimisticFMP": 2107, "pessimisticFMP": 2107, "roughEstimateOfTTI": 2811, "optimisticTTI": 2409, "pessimisticTTI": 3212, "roughEstimateOfTTFCPUI": 2409, "optimisticTTFCPUI": 2409, "pessimisticTTFCPUI": 3212, "roughEstimateOfSI": 2929, "optimisticSI": 1292, "pessimisticSI": 2107, "roughEstimateOfEIL": 20, "optimisticEIL": 25, "pessimisticEIL": 25},
     {"url": "http://www.craigslist.org/", "roughEstimateOfFCP": 3541, "optimisticFCP": 3534, "pessimisticFCP": 3548, "roughEstimateOfFMP": 5222, "optimisticFMP": 5101, "pessimisticFMP": 5343, "roughEstimateOfTTI": 5222, "optimisticTTI": 5101, "pessimisticTTI": 5343, "roughEstimateOfTTFCPUI": 5222, "optimisticTTFCPUI": 4801, "pessimisticTTFCPUI": 5343, "roughEstimateOfSI": 3925, "optimisticSI": 1334, "pessimisticSI": 3548, "roughEstimateOfEIL": 97, "optimisticEIL": 16, "pessimisticEIL": 227},
-    {"url": "http://www.dawn.com/", "roughEstimateOfFCP": 3364, "optimisticFCP": 3144, "pessimisticFCP": 3583, "roughEstimateOfFMP": 3364, "optimisticFMP": 3144, "pessimisticFMP": 3583, "roughEstimateOfTTI": 15911, "optimisticTTI": 13601, "pessimisticTTI": 18221, "roughEstimateOfTTFCPUI": 13601, "optimisticTTFCPUI": 13601, "pessimisticTTFCPUI": 18221, "roughEstimateOfSI": 5220, "optimisticSI": 2243, "pessimisticSI": 3583, "roughEstimateOfEIL": 298, "optimisticEIL": 373, "pessimisticEIL": 373},
+    {"url": "http://www.dawn.com/", "roughEstimateOfFCP": 3364, "optimisticFCP": 3144, "pessimisticFCP": 3583, "roughEstimateOfFMP": 3364, "optimisticFMP": 3144, "pessimisticFMP": 3583, "roughEstimateOfTTI": 16230, "optimisticTTI": 13709, "pessimisticTTI": 18752, "roughEstimateOfTTFCPUI": 13709, "optimisticTTFCPUI": 13709, "pessimisticTTFCPUI": 18752, "roughEstimateOfSI": 5220, "optimisticSI": 2243, "pessimisticSI": 3583, "roughEstimateOfEIL": 298, "optimisticEIL": 373, "pessimisticEIL": 373},
     {"url": "http://www.depositfiles.com/", "roughEstimateOfFCP": 8437, "optimisticFCP": 8437, "pessimisticFCP": 8437, "roughEstimateOfFMP": 8437, "optimisticFMP": 8437, "pessimisticFMP": 8437, "roughEstimateOfTTI": 9701, "optimisticTTI": 9551, "pessimisticTTI": 9851, "roughEstimateOfTTFCPUI": 8437, "optimisticTTFCPUI": 1075, "pessimisticTTFCPUI": 1173, "roughEstimateOfSI": 13239, "optimisticSI": 5718, "pessimisticSI": 8437, "roughEstimateOfEIL": 273, "optimisticEIL": 341, "pessimisticEIL": 341},
-    {"url": "http://www.deviantart.com/", "roughEstimateOfFCP": 4321, "optimisticFCP": 4321, "pessimisticFCP": 4321, "roughEstimateOfFMP": 5712, "optimisticFMP": 5712, "pessimisticFMP": 5712, "roughEstimateOfTTI": 32796, "optimisticTTI": 21101, "pessimisticTTI": 44490, "roughEstimateOfTTFCPUI": 9961, "optimisticTTFCPUI": 9961, "pessimisticTTFCPUI": 9961, "roughEstimateOfSI": 6071, "optimisticSI": 2509, "pessimisticSI": 4321, "roughEstimateOfEIL": 624, "optimisticEIL": 780, "pessimisticEIL": 780},
-    {"url": "http://www.dion.ne.jp/", "roughEstimateOfFCP": 8384, "optimisticFCP": 5734, "pessimisticFCP": 11033, "roughEstimateOfFMP": 8384, "optimisticFMP": 5734, "pessimisticFMP": 11033, "roughEstimateOfTTI": 26526, "optimisticTTI": 14518, "pessimisticTTI": 38533, "roughEstimateOfTTFCPUI": 14518, "optimisticTTFCPUI": 14518, "pessimisticTTFCPUI": 26611, "roughEstimateOfSI": 18212, "optimisticSI": 8065, "pessimisticSI": 11033, "roughEstimateOfEIL": 1028, "optimisticEIL": 1285, "pessimisticEIL": 1285},
+    {"url": "http://www.deviantart.com/", "roughEstimateOfFCP": 4321, "optimisticFCP": 4321, "pessimisticFCP": 4321, "roughEstimateOfFMP": 5712, "optimisticFMP": 5712, "pessimisticFMP": 5712, "roughEstimateOfTTI": 32807, "optimisticTTI": 21101, "pessimisticTTI": 44512, "roughEstimateOfTTFCPUI": 9961, "optimisticTTFCPUI": 9961, "pessimisticTTFCPUI": 9961, "roughEstimateOfSI": 6071, "optimisticSI": 2509, "pessimisticSI": 4321, "roughEstimateOfEIL": 624, "optimisticEIL": 780, "pessimisticEIL": 780},
+    {"url": "http://www.dion.ne.jp/", "roughEstimateOfFCP": 8384, "optimisticFCP": 5734, "pessimisticFCP": 11033, "roughEstimateOfFMP": 8384, "optimisticFMP": 5734, "pessimisticFMP": 11033, "roughEstimateOfTTI": 26564, "optimisticTTI": 14595, "pessimisticTTI": 38533, "roughEstimateOfTTFCPUI": 14595, "optimisticTTFCPUI": 14595, "pessimisticTTFCPUI": 26617, "roughEstimateOfSI": 18212, "optimisticSI": 8065, "pessimisticSI": 11033, "roughEstimateOfEIL": 1028, "optimisticEIL": 1285, "pessimisticEIL": 1285},
     {"url": "http://www.domaintools.com/", "roughEstimateOfFCP": 1599, "optimisticFCP": 1599, "pessimisticFCP": 1599, "roughEstimateOfFMP": 2750, "optimisticFMP": 2469, "pessimisticFMP": 3031, "roughEstimateOfTTI": 8329, "optimisticTTI": 8077, "pessimisticTTI": 8581, "roughEstimateOfTTFCPUI": 8077, "optimisticTTFCPUI": 8077, "pessimisticTTFCPUI": 8581, "roughEstimateOfSI": 9504, "optimisticSI": 6225, "pessimisticSI": 1599, "roughEstimateOfEIL": 920, "optimisticEIL": 617, "pessimisticEIL": 1682},
     {"url": "http://www.douban.com/", "roughEstimateOfFCP": 6832, "optimisticFCP": 6832, "pessimisticFCP": 6832, "roughEstimateOfFMP": 6832, "optimisticFMP": 6832, "pessimisticFMP": 6832, "roughEstimateOfTTI": 7997, "optimisticTTI": 7676, "pessimisticTTI": 8318, "roughEstimateOfTTFCPUI": 7676, "optimisticTTFCPUI": 7676, "pessimisticTTFCPUI": 8318, "roughEstimateOfSI": 10560, "optimisticSI": 4549, "pessimisticSI": 6832, "roughEstimateOfEIL": 558, "optimisticEIL": 697, "pessimisticEIL": 697},
     {"url": "http://www.ebay.com/", "roughEstimateOfFCP": 2985, "optimisticFCP": 2985, "pessimisticFCP": 2985, "roughEstimateOfFMP": 2985, "optimisticFMP": 2985, "pessimisticFMP": 2985, "roughEstimateOfTTI": 8456, "optimisticTTI": 7746, "pessimisticTTI": 9167, "roughEstimateOfTTFCPUI": 7746, "optimisticTTFCPUI": 7746, "pessimisticTTFCPUI": 9167, "roughEstimateOfSI": 4313, "optimisticSI": 1873, "pessimisticSI": 2985, "roughEstimateOfEIL": 187, "optimisticEIL": 233, "pessimisticEIL": 233},
     {"url": "https://www.ebs.in/IPS/", "roughEstimateOfFCP": 6055, "optimisticFCP": 4233, "pessimisticFCP": 7876, "roughEstimateOfFMP": 6547, "optimisticFMP": 4461, "pessimisticFMP": 8633, "roughEstimateOfTTI": 14549, "optimisticTTI": 7912, "pessimisticTTI": 21185, "roughEstimateOfTTFCPUI": 7912, "optimisticTTFCPUI": 7912, "pessimisticTTFCPUI": 4400, "roughEstimateOfSI": 10318, "optimisticSI": 3892, "pessimisticSI": 7876, "roughEstimateOfEIL": 258, "optimisticEIL": 322, "pessimisticEIL": 322},
-    {"url": "http://www.espn.com/", "roughEstimateOfFCP": 2706, "optimisticFCP": 2706, "pessimisticFCP": 2706, "roughEstimateOfFMP": 3653, "optimisticFMP": 2706, "pessimisticFMP": 4600, "roughEstimateOfTTI": 24553, "optimisticTTI": 21544, "pessimisticTTI": 27563, "roughEstimateOfTTFCPUI": 21544, "optimisticTTFCPUI": 21544, "pessimisticTTFCPUI": 26146, "roughEstimateOfSI": 4175, "optimisticSI": 1904, "pessimisticSI": 2706, "roughEstimateOfEIL": 1316, "optimisticEIL": 1645, "pessimisticEIL": 1645},
+    {"url": "http://www.espn.com/", "roughEstimateOfFCP": 2706, "optimisticFCP": 2706, "pessimisticFCP": 2706, "roughEstimateOfFMP": 3653, "optimisticFMP": 2706, "pessimisticFMP": 4600, "roughEstimateOfTTI": 24563, "optimisticTTI": 21745, "pessimisticTTI": 27381, "roughEstimateOfTTFCPUI": 21745, "optimisticTTFCPUI": 21745, "pessimisticTTFCPUI": 25964, "roughEstimateOfSI": 4175, "optimisticSI": 1904, "pessimisticSI": 2706, "roughEstimateOfEIL": 1316, "optimisticEIL": 1645, "pessimisticEIL": 1645},
     {"url": "http://www.facebook.com/", "roughEstimateOfFCP": 3485, "optimisticFCP": 3485, "pessimisticFCP": 3485, "roughEstimateOfFMP": 3485, "optimisticFMP": 3485, "pessimisticFMP": 3485, "roughEstimateOfTTI": 5230, "optimisticTTI": 4621, "pessimisticTTI": 5838, "roughEstimateOfTTFCPUI": 4621, "optimisticTTFCPUI": 4621, "pessimisticTTFCPUI": 5838, "roughEstimateOfSI": 4254, "optimisticSI": 1599, "pessimisticSI": 3485, "roughEstimateOfEIL": 65, "optimisticEIL": 82, "pessimisticEIL": 82},
     {"url": "http://www.fc2.com/", "roughEstimateOfFCP": 3142, "optimisticFCP": 3142, "pessimisticFCP": 3142, "roughEstimateOfFMP": 3142, "optimisticFMP": 3142, "pessimisticFMP": 3142, "roughEstimateOfTTI": 3439, "optimisticTTI": 3340, "pessimisticTTI": 3538, "roughEstimateOfTTFCPUI": 3340, "optimisticTTFCPUI": 3340, "pessimisticTTFCPUI": 3538, "roughEstimateOfSI": 3816, "optimisticSI": 1446, "pessimisticSI": 3142, "roughEstimateOfEIL": 13, "optimisticEIL": 16, "pessimisticEIL": 16},
-    {"url": "http://www.filestube.com/", "roughEstimateOfFCP": 9178, "optimisticFCP": 8943, "pessimisticFCP": 9414, "roughEstimateOfFMP": 10863, "optimisticFMP": 10463, "pessimisticFMP": 11262, "roughEstimateOfTTI": 24296, "optimisticTTI": 17389, "pessimisticTTI": 31203, "roughEstimateOfTTFCPUI": 17389, "optimisticTTFCPUI": 17389, "pessimisticTTFCPUI": 12474, "roughEstimateOfSI": 12986, "optimisticSI": 5083, "pessimisticSI": 9414, "roughEstimateOfEIL": 1198, "optimisticEIL": 1497, "pessimisticEIL": 1497},
-    {"url": "http://www.foxnews.com/", "roughEstimateOfFCP": 3188, "optimisticFCP": 3188, "pessimisticFCP": 3188, "roughEstimateOfFMP": 3188, "optimisticFMP": 3188, "pessimisticFMP": 3188, "roughEstimateOfTTI": 30537, "optimisticTTI": 22636, "pessimisticTTI": 38439, "roughEstimateOfTTFCPUI": 22636, "optimisticTTFCPUI": 22636, "pessimisticTTFCPUI": 29233, "roughEstimateOfSI": 11505, "optimisticSI": 6916, "pessimisticSI": 3188, "roughEstimateOfEIL": 731, "optimisticEIL": 914, "pessimisticEIL": 914},
+    {"url": "http://www.filestube.com/", "roughEstimateOfFCP": 9178, "optimisticFCP": 8943, "pessimisticFCP": 9414, "roughEstimateOfFMP": 10863, "optimisticFMP": 10463, "pessimisticFMP": 11262, "roughEstimateOfTTI": 24335, "optimisticTTI": 17388, "pessimisticTTI": 31282, "roughEstimateOfTTFCPUI": 17388, "optimisticTTFCPUI": 17388, "pessimisticTTFCPUI": 12401, "roughEstimateOfSI": 12986, "optimisticSI": 5083, "pessimisticSI": 9414, "roughEstimateOfEIL": 1198, "optimisticEIL": 1497, "pessimisticEIL": 1497},
+    {"url": "http://www.foxnews.com/", "roughEstimateOfFCP": 3188, "optimisticFCP": 3188, "pessimisticFCP": 3188, "roughEstimateOfFMP": 3188, "optimisticFMP": 3188, "pessimisticFMP": 3188, "roughEstimateOfTTI": 30610, "optimisticTTI": 22745, "pessimisticTTI": 38475, "roughEstimateOfTTFCPUI": 22745, "optimisticTTFCPUI": 22745, "pessimisticTTFCPUI": 29984, "roughEstimateOfSI": 11505, "optimisticSI": 6916, "pessimisticSI": 3188, "roughEstimateOfEIL": 731, "optimisticEIL": 914, "pessimisticEIL": 914},
     {"url": "http://www.getpersonas.com/", "roughEstimateOfFCP": 4232, "optimisticFCP": 4221, "pessimisticFCP": 4244, "roughEstimateOfFMP": 6497, "optimisticFMP": 6497, "pessimisticFMP": 6497, "roughEstimateOfTTI": 11063, "optimisticTTI": 9569, "pessimisticTTI": 12556, "roughEstimateOfTTFCPUI": 9569, "optimisticTTFCPUI": 9569, "pessimisticTTFCPUI": 12556, "roughEstimateOfSI": 4621, "optimisticSI": 1509, "pessimisticSI": 4244, "roughEstimateOfEIL": 1510, "optimisticEIL": 1888, "pessimisticEIL": 1888},
-    {"url": "http://www.globo.com/", "roughEstimateOfFCP": 3289, "optimisticFCP": 3289, "pessimisticFCP": 3289, "roughEstimateOfFMP": 3733, "optimisticFMP": 3557, "pessimisticFMP": 3910, "roughEstimateOfTTI": 19850, "optimisticTTI": 17348, "pessimisticTTI": 22352, "roughEstimateOfTTFCPUI": 17348, "optimisticTTFCPUI": 17348, "pessimisticTTFCPUI": 22352, "roughEstimateOfSI": 4859, "optimisticSI": 2122, "pessimisticSI": 3289, "roughEstimateOfEIL": 2070, "optimisticEIL": 2588, "pessimisticEIL": 2588},
+    {"url": "http://www.globo.com/", "roughEstimateOfFCP": 3289, "optimisticFCP": 3289, "pessimisticFCP": 3289, "roughEstimateOfFMP": 3733, "optimisticFMP": 3557, "pessimisticFMP": 3910, "roughEstimateOfTTI": 19600, "optimisticTTI": 17000, "pessimisticTTI": 22200, "roughEstimateOfTTFCPUI": 17000, "optimisticTTFCPUI": 17000, "pessimisticTTFCPUI": 22200, "roughEstimateOfSI": 4859, "optimisticSI": 2122, "pessimisticSI": 3289, "roughEstimateOfEIL": 2070, "optimisticEIL": 2588, "pessimisticEIL": 2588},
     {"url": "http://www.gmx.net/", "roughEstimateOfFCP": 2029, "optimisticFCP": 2029, "pessimisticFCP": 2029, "roughEstimateOfFMP": 2029, "optimisticFMP": 2029, "pessimisticFMP": 2029, "roughEstimateOfTTI": 8828, "optimisticTTI": 7677, "pessimisticTTI": 9980, "roughEstimateOfTTFCPUI": 7677, "optimisticTTFCPUI": 7677, "pessimisticTTFCPUI": 9980, "roughEstimateOfSI": 5290, "optimisticSI": 3015, "pessimisticSI": 2029, "roughEstimateOfEIL": 453, "optimisticEIL": 566, "pessimisticEIL": 566},
     {"url": "http://www.hatena.ne.jp/", "roughEstimateOfFCP": 1451, "optimisticFCP": 1325, "pessimisticFCP": 1576, "roughEstimateOfFMP": 1788, "optimisticFMP": 1788, "pessimisticFMP": 1788, "roughEstimateOfTTI": 24851, "optimisticTTI": 13420, "pessimisticTTI": 36282, "roughEstimateOfTTFCPUI": 13420, "optimisticTTFCPUI": 13420, "pessimisticTTFCPUI": 4439, "roughEstimateOfSI": 4725, "optimisticSI": 2821, "pessimisticSI": 1576, "roughEstimateOfEIL": 211, "optimisticEIL": 264, "pessimisticEIL": 264},
     {"url": "http://www.hexun.com/", "roughEstimateOfFCP": 4178, "optimisticFCP": 4178, "pessimisticFCP": 4178, "roughEstimateOfFMP": 5394, "optimisticFMP": 4178, "pessimisticFMP": 6609, "roughEstimateOfTTI": 7191, "optimisticTTI": 6811, "pessimisticTTI": 7571, "roughEstimateOfTTFCPUI": 6811, "optimisticTTFCPUI": 6811, "pessimisticTTFCPUI": 7571, "roughEstimateOfSI": 13345, "optimisticSI": 7771, "pessimisticSI": 4178, "roughEstimateOfEIL": 42, "optimisticEIL": 16, "pessimisticEIL": 88},
     {"url": "http://www.hotfile.com/", "roughEstimateOfFCP": 5063, "optimisticFCP": 4434, "pessimisticFCP": 5692, "roughEstimateOfFMP": 5063, "optimisticFMP": 4434, "pessimisticFMP": 5692, "roughEstimateOfTTI": 7976, "optimisticTTI": 6213, "pessimisticTTI": 9740, "roughEstimateOfTTFCPUI": 6213, "optimisticTTFCPUI": 6213, "pessimisticTTFCPUI": 9740, "roughEstimateOfSI": 10180, "optimisticSI": 4807, "pessimisticSI": 5692, "roughEstimateOfEIL": 104, "optimisticEIL": 126, "pessimisticEIL": 134},
     {"url": "http://www.hp.com/", "roughEstimateOfFCP": 8465, "optimisticFCP": 6953, "pessimisticFCP": 9978, "roughEstimateOfFMP": 9844, "optimisticFMP": 8298, "pessimisticFMP": 11390, "roughEstimateOfTTI": 17358, "optimisticTTI": 15882, "pessimisticTTI": 18834, "roughEstimateOfTTFCPUI": 15882, "optimisticTTFCPUI": 15882, "pessimisticTTFCPUI": 18834, "roughEstimateOfSI": 9592, "optimisticSI": 2398, "pessimisticSI": 9978, "roughEstimateOfEIL": 333, "optimisticEIL": 315, "pessimisticEIL": 517},
-    {"url": "http://www.huffingtonpost.com/", "roughEstimateOfFCP": 3346, "optimisticFCP": 3346, "pessimisticFCP": 3346, "roughEstimateOfFMP": 3346, "optimisticFMP": 3346, "pessimisticFMP": 3346, "roughEstimateOfTTI": 20825, "optimisticTTI": 17254, "pessimisticTTI": 24396, "roughEstimateOfTTFCPUI": 17254, "optimisticTTFCPUI": 17254, "pessimisticTTFCPUI": 16416, "roughEstimateOfSI": 4689, "optimisticSI": 1974, "pessimisticSI": 3346, "roughEstimateOfEIL": 337, "optimisticEIL": 421, "pessimisticEIL": 421},
+    {"url": "http://www.huffingtonpost.com/", "roughEstimateOfFCP": 3346, "optimisticFCP": 3346, "pessimisticFCP": 3346, "roughEstimateOfFMP": 3346, "optimisticFMP": 3346, "pessimisticFMP": 3346, "roughEstimateOfTTI": 20825, "optimisticTTI": 17254, "pessimisticTTI": 24396, "roughEstimateOfTTFCPUI": 17254, "optimisticTTFCPUI": 17254, "pessimisticTTFCPUI": 16551, "roughEstimateOfSI": 4689, "optimisticSI": 1974, "pessimisticSI": 3346, "roughEstimateOfEIL": 337, "optimisticEIL": 421, "pessimisticEIL": 421},
     {"url": "http://www.hulu.com/", "roughEstimateOfFCP": 12256, "optimisticFCP": 9521, "pessimisticFCP": 14992, "roughEstimateOfFMP": 14218, "optimisticFMP": 10495, "pessimisticFMP": 17940, "roughEstimateOfTTI": 22930, "optimisticTTI": 20599, "pessimisticTTI": 25261, "roughEstimateOfTTFCPUI": 20599, "optimisticTTFCPUI": 20599, "pessimisticTTFCPUI": 25261, "roughEstimateOfSI": 15256, "optimisticSI": 4115, "pessimisticSI": 14992, "roughEstimateOfEIL": 1254, "optimisticEIL": 1300, "pessimisticEIL": 1835},
     {"url": "http://www.iciba.com/", "roughEstimateOfFCP": 1445, "optimisticFCP": 1445, "pessimisticFCP": 1445, "roughEstimateOfFMP": 1445, "optimisticFMP": 1445, "pessimisticFMP": 1445, "roughEstimateOfTTI": 3517, "optimisticTTI": 3030, "pessimisticTTI": 4004, "roughEstimateOfTTFCPUI": 3030, "optimisticTTFCPUI": 3030, "pessimisticTTFCPUI": 4004, "roughEstimateOfSI": 5012, "optimisticSI": 3088, "pessimisticSI": 1445, "roughEstimateOfEIL": 394, "optimisticEIL": 492, "pessimisticEIL": 492},
     {"url": "http://www.ifeng.com/", "roughEstimateOfFCP": 3576, "optimisticFCP": 3534, "pessimisticFCP": 3619, "roughEstimateOfFMP": 3576, "optimisticFMP": 3534, "pessimisticFMP": 3619, "roughEstimateOfTTI": 5355, "optimisticTTI": 3534, "pessimisticTTI": 7177, "roughEstimateOfTTFCPUI": 3576, "optimisticTTFCPUI": 3494, "pessimisticTTFCPUI": 7177, "roughEstimateOfSI": 3576, "optimisticSI": 879, "pessimisticSI": 3619, "roughEstimateOfEIL": 13, "optimisticEIL": 16, "pessimisticEIL": 16},
@@ -49,54 +49,54 @@
     {"url": "http://www.java.com/", "roughEstimateOfFCP": 1268, "optimisticFCP": 1268, "pessimisticFCP": 1268, "roughEstimateOfFMP": 1268, "optimisticFMP": 1268, "pessimisticFMP": 1268, "roughEstimateOfTTI": 3189, "optimisticTTI": 2510, "pessimisticTTI": 3868, "roughEstimateOfTTFCPUI": 2510, "optimisticTTFCPUI": 2510, "pessimisticTTFCPUI": 3868, "roughEstimateOfSI": 2372, "optimisticSI": 1284, "pessimisticSI": 1268, "roughEstimateOfEIL": 13, "optimisticEIL": 16, "pessimisticEIL": 16},
     {"url": "http://www.linkedin.com/", "roughEstimateOfFCP": 4621, "optimisticFCP": 4621, "pessimisticFCP": 4621, "roughEstimateOfFMP": 4621, "optimisticFMP": 4621, "pessimisticFMP": 4621, "roughEstimateOfTTI": 5034, "optimisticTTI": 4875, "pessimisticTTI": 5193, "roughEstimateOfTTFCPUI": 4875, "optimisticTTFCPUI": 4875, "pessimisticTTFCPUI": 5193, "roughEstimateOfSI": 4621, "optimisticSI": 1074, "pessimisticSI": 4621, "roughEstimateOfEIL": 1598, "optimisticEIL": 1998, "pessimisticEIL": 1998},
     {"url": "http://www.livedoor.jp/", "roughEstimateOfFCP": 3084, "optimisticFCP": 3084, "pessimisticFCP": 3084, "roughEstimateOfFMP": 3084, "optimisticFMP": 3084, "pessimisticFMP": 3084, "roughEstimateOfTTI": 15449, "optimisticTTI": 12720, "pessimisticTTI": 18178, "roughEstimateOfTTFCPUI": 12720, "optimisticTTFCPUI": 12720, "pessimisticTTFCPUI": 18178, "roughEstimateOfSI": 7718, "optimisticSI": 4260, "pessimisticSI": 3084, "roughEstimateOfEIL": 246, "optimisticEIL": 307, "pessimisticEIL": 307},
-    {"url": "http://www.liveperson.net/", "roughEstimateOfFCP": 11037, "optimisticFCP": 10841, "pessimisticFCP": 11234, "roughEstimateOfFMP": 11724, "optimisticFMP": 11626, "pessimisticFMP": 11822, "roughEstimateOfTTI": 25782, "optimisticTTI": 19603, "pessimisticTTI": 31961, "roughEstimateOfTTFCPUI": 11724, "optimisticTTFCPUI": 10882, "pessimisticTTFCPUI": 14138, "roughEstimateOfSI": 11037, "optimisticSI": 2248, "pessimisticSI": 11234, "roughEstimateOfEIL": 370, "optimisticEIL": 463, "pessimisticEIL": 463},
+    {"url": "http://www.liveperson.net/", "roughEstimateOfFCP": 11037, "optimisticFCP": 10841, "pessimisticFCP": 11234, "roughEstimateOfFMP": 11724, "optimisticFMP": 11626, "pessimisticFMP": 11822, "roughEstimateOfTTI": 25684, "optimisticTTI": 19407, "pessimisticTTI": 31961, "roughEstimateOfTTFCPUI": 11724, "optimisticTTFCPUI": 10882, "pessimisticTTFCPUI": 14211, "roughEstimateOfSI": 11037, "optimisticSI": 2248, "pessimisticSI": 11234, "roughEstimateOfEIL": 370, "optimisticEIL": 463, "pessimisticEIL": 463},
     {"url": "http://www.mail.ru/", "roughEstimateOfFCP": 5150, "optimisticFCP": 5150, "pessimisticFCP": 5150, "roughEstimateOfFMP": 5150, "optimisticFMP": 5150, "pessimisticFMP": 5150, "roughEstimateOfTTI": 11110, "optimisticTTI": 9846, "pessimisticTTI": 12375, "roughEstimateOfTTFCPUI": 9846, "optimisticTTFCPUI": 9846, "pessimisticTTFCPUI": 12375, "roughEstimateOfSI": 8487, "optimisticSI": 3849, "pessimisticSI": 5150, "roughEstimateOfEIL": 37, "optimisticEIL": 46, "pessimisticEIL": 46},
-    {"url": "http://www.maktoob.com/", "roughEstimateOfFCP": 4278, "optimisticFCP": 4278, "pessimisticFCP": 4278, "roughEstimateOfFMP": 4278, "optimisticFMP": 4278, "pessimisticFMP": 4278, "roughEstimateOfTTI": 11438, "optimisticTTI": 10732, "pessimisticTTI": 12145, "roughEstimateOfTTFCPUI": 10732, "optimisticTTFCPUI": 10732, "pessimisticTTFCPUI": 12145, "roughEstimateOfSI": 5496, "optimisticSI": 2118, "pessimisticSI": 4278, "roughEstimateOfEIL": 265, "optimisticEIL": 332, "pessimisticEIL": 332},
+    {"url": "http://www.maktoob.com/", "roughEstimateOfFCP": 4278, "optimisticFCP": 4278, "pessimisticFCP": 4278, "roughEstimateOfFMP": 4278, "optimisticFMP": 4278, "pessimisticFMP": 4278, "roughEstimateOfTTI": 11443, "optimisticTTI": 10741, "pessimisticTTI": 12145, "roughEstimateOfTTFCPUI": 10741, "optimisticTTFCPUI": 10741, "pessimisticTTFCPUI": 12145, "roughEstimateOfSI": 5496, "optimisticSI": 2118, "pessimisticSI": 4278, "roughEstimateOfEIL": 265, "optimisticEIL": 332, "pessimisticEIL": 332},
     {"url": "http://www.marketgid.com/", "roughEstimateOfFCP": 3552, "optimisticFCP": 3552, "pessimisticFCP": 3552, "roughEstimateOfFMP": 6083, "optimisticFMP": 6083, "pessimisticFMP": 6083, "roughEstimateOfTTI": 8648, "optimisticTTI": 7823, "pessimisticTTI": 9473, "roughEstimateOfTTFCPUI": 7823, "optimisticTTFCPUI": 7823, "pessimisticTTFCPUI": 9473, "roughEstimateOfSI": 5185, "optimisticSI": 2233, "pessimisticSI": 3552, "roughEstimateOfEIL": 226, "optimisticEIL": 283, "pessimisticEIL": 283},
-    {"url": "http://www.metacafe.com/", "roughEstimateOfFCP": 1848, "optimisticFCP": 1848, "pessimisticFCP": 1848, "roughEstimateOfFMP": 2048, "optimisticFMP": 2047, "pessimisticFMP": 2049, "roughEstimateOfTTI": 15342, "optimisticTTI": 13549, "pessimisticTTI": 17134, "roughEstimateOfTTFCPUI": 13549, "optimisticTTFCPUI": 13549, "pessimisticTTFCPUI": 17134, "roughEstimateOfSI": 2902, "optimisticSI": 1393, "pessimisticSI": 1848, "roughEstimateOfEIL": 361, "optimisticEIL": 451, "pessimisticEIL": 451},
-    {"url": "http://www.metrolyrics.com/", "roughEstimateOfFCP": 3155, "optimisticFCP": 3056, "pessimisticFCP": 3254, "roughEstimateOfFMP": 3155, "optimisticFMP": 3056, "pessimisticFMP": 3254, "roughEstimateOfTTI": 57009, "optimisticTTI": 39449, "pessimisticTTI": 74569, "roughEstimateOfTTFCPUI": 39449, "optimisticTTFCPUI": 39449, "pessimisticTTFCPUI": 15769, "roughEstimateOfSI": 15355, "optimisticSI": 9636, "pessimisticSI": 3254, "roughEstimateOfEIL": 1134, "optimisticEIL": 1417, "pessimisticEIL": 1417},
-    {"url": "http://www.mlb.com/", "roughEstimateOfFCP": 3023, "optimisticFCP": 2724, "pessimisticFCP": 3322, "roughEstimateOfFMP": 3023, "optimisticFMP": 2724, "pessimisticFMP": 3322, "roughEstimateOfTTI": 30460, "optimisticTTI": 26219, "pessimisticTTI": 34700, "roughEstimateOfTTFCPUI": 8141, "optimisticTTFCPUI": 8141, "pessimisticTTFCPUI": 8792, "roughEstimateOfSI": 7632, "optimisticSI": 4088, "pessimisticSI": 3322, "roughEstimateOfEIL": 689, "optimisticEIL": 861, "pessimisticEIL": 861},
+    {"url": "http://www.metacafe.com/", "roughEstimateOfFCP": 1848, "optimisticFCP": 1848, "pessimisticFCP": 1848, "roughEstimateOfFMP": 2048, "optimisticFMP": 2047, "pessimisticFMP": 2049, "roughEstimateOfTTI": 15374, "optimisticTTI": 13549, "pessimisticTTI": 17199, "roughEstimateOfTTFCPUI": 13549, "optimisticTTFCPUI": 13549, "pessimisticTTFCPUI": 17199, "roughEstimateOfSI": 2902, "optimisticSI": 1393, "pessimisticSI": 1848, "roughEstimateOfEIL": 361, "optimisticEIL": 451, "pessimisticEIL": 451},
+    {"url": "http://www.metrolyrics.com/", "roughEstimateOfFCP": 3155, "optimisticFCP": 3056, "pessimisticFCP": 3254, "roughEstimateOfFMP": 3155, "optimisticFMP": 3056, "pessimisticFMP": 3254, "roughEstimateOfTTI": 56966, "optimisticTTI": 39302, "pessimisticTTI": 74631, "roughEstimateOfTTFCPUI": 39302, "optimisticTTFCPUI": 39302, "pessimisticTTFCPUI": 15732, "roughEstimateOfSI": 15355, "optimisticSI": 9636, "pessimisticSI": 3254, "roughEstimateOfEIL": 1134, "optimisticEIL": 1417, "pessimisticEIL": 1417},
+    {"url": "http://www.mlb.com/", "roughEstimateOfFCP": 3023, "optimisticFCP": 2724, "pessimisticFCP": 3322, "roughEstimateOfFMP": 3023, "optimisticFMP": 2724, "pessimisticFMP": 3322, "roughEstimateOfTTI": 30413, "optimisticTTI": 26178, "pessimisticTTI": 34648, "roughEstimateOfTTFCPUI": 26178, "optimisticTTFCPUI": 26178, "pessimisticTTFCPUI": 8739, "roughEstimateOfSI": 7632, "optimisticSI": 4088, "pessimisticSI": 3322, "roughEstimateOfEIL": 689, "optimisticEIL": 861, "pessimisticEIL": 861},
     {"url": "http://www.mop.com/", "roughEstimateOfFCP": 6918, "optimisticFCP": 6380, "pessimisticFCP": 7456, "roughEstimateOfFMP": 6918, "optimisticFMP": 6380, "pessimisticFMP": 7456, "roughEstimateOfTTI": 20936, "optimisticTTI": 10735, "pessimisticTTI": 31136, "roughEstimateOfTTFCPUI": 10735, "optimisticTTFCPUI": 10735, "pessimisticTTFCPUI": 3194, "roughEstimateOfSI": 10204, "optimisticSI": 4006, "pessimisticSI": 7456, "roughEstimateOfEIL": 828, "optimisticEIL": 1035, "pessimisticEIL": 1035},
     {"url": "http://www.mozilla.org/", "roughEstimateOfFCP": 2111, "optimisticFCP": 1755, "pessimisticFCP": 2466, "roughEstimateOfFMP": 2487, "optimisticFMP": 1755, "pessimisticFMP": 3219, "roughEstimateOfTTI": 4300, "optimisticTTI": 4150, "pessimisticTTI": 4449, "roughEstimateOfTTFCPUI": 4150, "optimisticTTFCPUI": 4150, "pessimisticTTFCPUI": 4449, "roughEstimateOfSI": 2993, "optimisticSI": 1172, "pessimisticSI": 2466, "roughEstimateOfEIL": 842, "optimisticEIL": 1053, "pessimisticEIL": 1053},
-    {"url": "http://www.msn.com/", "roughEstimateOfFCP": 2465, "optimisticFCP": 2465, "pessimisticFCP": 2465, "roughEstimateOfFMP": 2563, "optimisticFMP": 2465, "pessimisticFMP": 2661, "roughEstimateOfTTI": 11266, "optimisticTTI": 9536, "pessimisticTTI": 12996, "roughEstimateOfTTFCPUI": 9536, "optimisticTTFCPUI": 9536, "pessimisticTTFCPUI": 12996, "roughEstimateOfSI": 4081, "optimisticSI": 1949, "pessimisticSI": 2465, "roughEstimateOfEIL": 283, "optimisticEIL": 353, "pessimisticEIL": 353},
+    {"url": "http://www.msn.com/", "roughEstimateOfFCP": 2465, "optimisticFCP": 2465, "pessimisticFCP": 2465, "roughEstimateOfFMP": 2563, "optimisticFMP": 2465, "pessimisticFMP": 2661, "roughEstimateOfTTI": 11446, "optimisticTTI": 9673, "pessimisticTTI": 13219, "roughEstimateOfTTFCPUI": 9673, "optimisticTTFCPUI": 9673, "pessimisticTTFCPUI": 13219, "roughEstimateOfSI": 4081, "optimisticSI": 1949, "pessimisticSI": 2465, "roughEstimateOfEIL": 283, "optimisticEIL": 353, "pessimisticEIL": 353},
     {"url": "http://www.netflix.com/", "roughEstimateOfFCP": 2909, "optimisticFCP": 2909, "pessimisticFCP": 2909, "roughEstimateOfFMP": 2909, "optimisticFMP": 2909, "pessimisticFMP": 2909, "roughEstimateOfTTI": 6172, "optimisticTTI": 5613, "pessimisticTTI": 6731, "roughEstimateOfTTFCPUI": 5613, "optimisticTTFCPUI": 5613, "pessimisticTTFCPUI": 6731, "roughEstimateOfSI": 3620, "optimisticSI": 1413, "pessimisticSI": 2909, "roughEstimateOfEIL": 98, "optimisticEIL": 123, "pessimisticEIL": 123},
     {"url": "http://www.nih.gov/", "roughEstimateOfFCP": 4440, "optimisticFCP": 3999, "pessimisticFCP": 4882, "roughEstimateOfFMP": 4440, "optimisticFMP": 3999, "pessimisticFMP": 4882, "roughEstimateOfTTI": 6450, "optimisticTTI": 5884, "pessimisticTTI": 7016, "roughEstimateOfTTFCPUI": 5884, "optimisticTTFCPUI": 5884, "pessimisticTTFCPUI": 7016, "roughEstimateOfSI": 6852, "optimisticSI": 2807, "pessimisticSI": 4882, "roughEstimateOfEIL": 129, "optimisticEIL": 162, "pessimisticEIL": 162},
     {"url": "http://www.ning.com/", "roughEstimateOfFCP": 2711, "optimisticFCP": 2711, "pessimisticFCP": 2711, "roughEstimateOfFMP": 3004, "optimisticFMP": 3004, "pessimisticFMP": 3004, "roughEstimateOfTTI": 13436, "optimisticTTI": 11659, "pessimisticTTI": 15214, "roughEstimateOfTTFCPUI": 11659, "optimisticTTFCPUI": 11659, "pessimisticTTFCPUI": 15214, "roughEstimateOfSI": 3793, "optimisticSI": 1629, "pessimisticSI": 2711, "roughEstimateOfEIL": 274, "optimisticEIL": 343, "pessimisticEIL": 343},
     {"url": "http://www.nokia.com/", "roughEstimateOfFCP": 5687, "optimisticFCP": 5687, "pessimisticFCP": 5687, "roughEstimateOfFMP": 5888, "optimisticFMP": 5888, "pessimisticFMP": 5888, "roughEstimateOfTTI": 12370, "optimisticTTI": 11132, "pessimisticTTI": 13608, "roughEstimateOfTTFCPUI": 11132, "optimisticTTFCPUI": 11132, "pessimisticTTFCPUI": 13608, "roughEstimateOfSI": 6343, "optimisticSI": 2069, "pessimisticSI": 5687, "roughEstimateOfEIL": 211, "optimisticEIL": 264, "pessimisticEIL": 264},
     {"url": "http://www.ocn.ne.jp/", "roughEstimateOfFCP": 3343, "optimisticFCP": 3343, "pessimisticFCP": 3343, "roughEstimateOfFMP": 3343, "optimisticFMP": 3343, "pessimisticFMP": 3343, "roughEstimateOfTTI": 7695, "optimisticTTI": 6702, "pessimisticTTI": 8689, "roughEstimateOfTTFCPUI": 6702, "optimisticTTFCPUI": 6702, "pessimisticTTFCPUI": 8689, "roughEstimateOfSI": 5896, "optimisticSI": 2838, "pessimisticSI": 3343, "roughEstimateOfEIL": 75, "optimisticEIL": 93, "pessimisticEIL": 93},
-    {"url": "http://www.onet.pl/", "roughEstimateOfFCP": 4214, "optimisticFCP": 4062, "pessimisticFCP": 4365, "roughEstimateOfFMP": 5121, "optimisticFMP": 4970, "pessimisticFMP": 5273, "roughEstimateOfTTI": 18530, "optimisticTTI": 14282, "pessimisticTTI": 22779, "roughEstimateOfTTFCPUI": 14282, "optimisticTTFCPUI": 14282, "pessimisticTTFCPUI": 20592, "roughEstimateOfSI": 15188, "optimisticSI": 9001, "pessimisticSI": 4365, "roughEstimateOfEIL": 1150, "optimisticEIL": 1437, "pessimisticEIL": 1437},
+    {"url": "http://www.onet.pl/", "roughEstimateOfFCP": 4214, "optimisticFCP": 4062, "pessimisticFCP": 4365, "roughEstimateOfFMP": 5121, "optimisticFMP": 4970, "pessimisticFMP": 5273, "roughEstimateOfTTI": 19061, "optimisticTTI": 14434, "pessimisticTTI": 23687, "roughEstimateOfTTFCPUI": 14434, "optimisticTTFCPUI": 14434, "pessimisticTTFCPUI": 21499, "roughEstimateOfSI": 15188, "optimisticSI": 9001, "pessimisticSI": 4365, "roughEstimateOfEIL": 1150, "optimisticEIL": 1437, "pessimisticEIL": 1437},
     {"url": "http://www.optmd.com/", "roughEstimateOfFCP": 1065, "optimisticFCP": 960, "pessimisticFCP": 1170, "roughEstimateOfFMP": 1065, "optimisticFMP": 960, "pessimisticFMP": 1170, "roughEstimateOfTTI": 1072, "optimisticTTI": 974, "pessimisticTTI": 1170, "roughEstimateOfTTFCPUI": 1065, "optimisticTTFCPUI": 974, "pessimisticTTFCPUI": 1018, "roughEstimateOfSI": 1269, "optimisticSI": 542, "pessimisticSI": 1170, "roughEstimateOfEIL": 13, "optimisticEIL": 16, "pessimisticEIL": 16},
-    {"url": "http://www.orange.fr/", "roughEstimateOfFCP": 3776, "optimisticFCP": 3219, "pessimisticFCP": 4333, "roughEstimateOfFMP": 3892, "optimisticFMP": 3219, "pessimisticFMP": 4565, "roughEstimateOfTTI": 15250, "optimisticTTI": 12350, "pessimisticTTI": 18150, "roughEstimateOfTTFCPUI": 12350, "optimisticTTFCPUI": 12350, "pessimisticTTFCPUI": 18150, "roughEstimateOfSI": 9160, "optimisticSI": 4710, "pessimisticSI": 4333, "roughEstimateOfEIL": 433, "optimisticEIL": 541, "pessimisticEIL": 541},
+    {"url": "http://www.orange.fr/", "roughEstimateOfFCP": 3776, "optimisticFCP": 3219, "pessimisticFCP": 4333, "roughEstimateOfFMP": 3892, "optimisticFMP": 3219, "pessimisticFMP": 4565, "roughEstimateOfTTI": 15495, "optimisticTTI": 12655, "pessimisticTTI": 18336, "roughEstimateOfTTFCPUI": 12655, "optimisticTTFCPUI": 12655, "pessimisticTTFCPUI": 18336, "roughEstimateOfSI": 9160, "optimisticSI": 4710, "pessimisticSI": 4333, "roughEstimateOfEIL": 433, "optimisticEIL": 541, "pessimisticEIL": 541},
     {"url": "http://www.orkut.com/", "roughEstimateOfFCP": 1463, "optimisticFCP": 1420, "pessimisticFCP": 1506, "roughEstimateOfFMP": 1463, "optimisticFMP": 1420, "pessimisticFMP": 1506, "roughEstimateOfTTI": 2036, "optimisticTTI": 2036, "pessimisticTTI": 2036, "roughEstimateOfTTFCPUI": 2036, "optimisticTTFCPUI": 2036, "pessimisticTTFCPUI": 2036, "roughEstimateOfSI": 1952, "optimisticSI": 873, "pessimisticSI": 1506, "roughEstimateOfEIL": 13, "optimisticEIL": 16, "pessimisticEIL": 16},
     {"url": "http://www.partypoker.com/", "roughEstimateOfFCP": 5630, "optimisticFCP": 5484, "pessimisticFCP": 5776, "roughEstimateOfFMP": 5630, "optimisticFMP": 5484, "pessimisticFMP": 5776, "roughEstimateOfTTI": 17073, "optimisticTTI": 13145, "pessimisticTTI": 21001, "roughEstimateOfTTFCPUI": 13145, "optimisticTTFCPUI": 13145, "pessimisticTTFCPUI": 12013, "roughEstimateOfSI": 10885, "optimisticSI": 5272, "pessimisticSI": 5776, "roughEstimateOfEIL": 220, "optimisticEIL": 275, "pessimisticEIL": 275},
     {"url": "http://www.pcpop.com/", "roughEstimateOfFCP": 2710, "optimisticFCP": 2710, "pessimisticFCP": 2711, "roughEstimateOfFMP": 2710, "optimisticFMP": 2710, "pessimisticFMP": 2711, "roughEstimateOfTTI": 7595, "optimisticTTI": 4791, "pessimisticTTI": 10400, "roughEstimateOfTTFCPUI": 4791, "optimisticTTFCPUI": 4791, "pessimisticTTFCPUI": 10400, "roughEstimateOfSI": 5771, "optimisticSI": 3042, "pessimisticSI": 2711, "roughEstimateOfEIL": 80, "optimisticEIL": 100, "pessimisticEIL": 100},
     {"url": "http://www.pdfqueen.com/", "roughEstimateOfFCP": 2549, "optimisticFCP": 2271, "pessimisticFCP": 2828, "roughEstimateOfFMP": 2549, "optimisticFMP": 2271, "pessimisticFMP": 2828, "roughEstimateOfTTI": 3953, "optimisticTTI": 3803, "pessimisticTTI": 4103, "roughEstimateOfTTFCPUI": 3803, "optimisticTTFCPUI": 3803, "pessimisticTTFCPUI": 4103, "roughEstimateOfSI": 2730, "optimisticSI": 816, "pessimisticSI": 2828, "roughEstimateOfEIL": 13, "optimisticEIL": 16, "pessimisticEIL": 16},
     {"url": "http://www.pptv.com/", "roughEstimateOfFCP": 2925, "optimisticFCP": 2925, "pessimisticFCP": 2925, "roughEstimateOfFMP": 2925, "optimisticFMP": 2925, "pessimisticFMP": 2925, "roughEstimateOfTTI": 8687, "optimisticTTI": 6979, "pessimisticTTI": 10394, "roughEstimateOfTTFCPUI": 6979, "optimisticTTFCPUI": 6979, "pessimisticTTFCPUI": 10394, "roughEstimateOfSI": 11800, "optimisticSI": 7249, "pessimisticSI": 2925, "roughEstimateOfEIL": 623, "optimisticEIL": 779, "pessimisticEIL": 779},
     {"url": "http://www.rakuten.co.jp/", "roughEstimateOfFCP": 3655, "optimisticFCP": 3655, "pessimisticFCP": 3655, "roughEstimateOfFMP": 3655, "optimisticFMP": 3655, "pessimisticFMP": 3655, "roughEstimateOfTTI": 22747, "optimisticTTI": 13628, "pessimisticTTI": 31866, "roughEstimateOfTTFCPUI": 13628, "optimisticTTFCPUI": 13628, "pessimisticTTFCPUI": 20656, "roughEstimateOfSI": 5651, "optimisticSI": 2518, "pessimisticSI": 3655, "roughEstimateOfEIL": 1283, "optimisticEIL": 1604, "pessimisticEIL": 1604},
-    {"url": "http://www.rakuten.ne.jp/", "roughEstimateOfFCP": 2750, "optimisticFCP": 2686, "pessimisticFCP": 2813, "roughEstimateOfFMP": 2750, "optimisticFMP": 2686, "pessimisticFMP": 2813, "roughEstimateOfTTI": 23209, "optimisticTTI": 13257, "pessimisticTTI": 33161, "roughEstimateOfTTFCPUI": 13257, "optimisticTTFCPUI": 13257, "pessimisticTTFCPUI": 18534, "roughEstimateOfSI": 4733, "optimisticSI": 2253, "pessimisticSI": 2813, "roughEstimateOfEIL": 1719, "optimisticEIL": 2149, "pessimisticEIL": 2149},
-    {"url": "http://www.scribd.com/", "roughEstimateOfFCP": 2622, "optimisticFCP": 2622, "pessimisticFCP": 2622, "roughEstimateOfFMP": 3810, "optimisticFMP": 3810, "pessimisticFMP": 3810, "roughEstimateOfTTI": 12577, "optimisticTTI": 11222, "pessimisticTTI": 13931, "roughEstimateOfTTFCPUI": 11222, "optimisticTTFCPUI": 11222, "pessimisticTTFCPUI": 13931, "roughEstimateOfSI": 3776, "optimisticSI": 1658, "pessimisticSI": 2622, "roughEstimateOfEIL": 833, "optimisticEIL": 1041, "pessimisticEIL": 1041},
+    {"url": "http://www.rakuten.ne.jp/", "roughEstimateOfFCP": 2750, "optimisticFCP": 2686, "pessimisticFCP": 2813, "roughEstimateOfFMP": 2750, "optimisticFMP": 2686, "pessimisticFMP": 2813, "roughEstimateOfTTI": 23667, "optimisticTTI": 14376, "pessimisticTTI": 32958, "roughEstimateOfTTFCPUI": 14376, "optimisticTTFCPUI": 14376, "pessimisticTTFCPUI": 18332, "roughEstimateOfSI": 4733, "optimisticSI": 2253, "pessimisticSI": 2813, "roughEstimateOfEIL": 1719, "optimisticEIL": 2149, "pessimisticEIL": 2149},
+    {"url": "http://www.scribd.com/", "roughEstimateOfFCP": 2622, "optimisticFCP": 2622, "pessimisticFCP": 2622, "roughEstimateOfFMP": 3810, "optimisticFMP": 3810, "pessimisticFMP": 3810, "roughEstimateOfTTI": 12589, "optimisticTTI": 11222, "pessimisticTTI": 13956, "roughEstimateOfTTFCPUI": 11222, "optimisticTTFCPUI": 11222, "pessimisticTTFCPUI": 13956, "roughEstimateOfSI": 3776, "optimisticSI": 1658, "pessimisticSI": 2622, "roughEstimateOfEIL": 833, "optimisticEIL": 1041, "pessimisticEIL": 1041},
     {"url": "http://www.shopping.com/", "roughEstimateOfFCP": 2287, "optimisticFCP": 2287, "pessimisticFCP": 2287, "roughEstimateOfFMP": 2287, "optimisticFMP": 2287, "pessimisticFMP": 2287, "roughEstimateOfTTI": 2595, "optimisticTTI": 2432, "pessimisticTTI": 2758, "roughEstimateOfTTFCPUI": 2432, "optimisticTTFCPUI": 2432, "pessimisticTTFCPUI": 2758, "roughEstimateOfSI": 2499, "optimisticSI": 902, "pessimisticSI": 2287, "roughEstimateOfEIL": 13, "optimisticEIL": 16, "pessimisticEIL": 16},
-    {"url": "http://www.skype.com/", "roughEstimateOfFCP": 4362, "optimisticFCP": 4362, "pessimisticFCP": 4362, "roughEstimateOfFMP": 4362, "optimisticFMP": 4362, "pessimisticFMP": 4362, "roughEstimateOfTTI": 7454, "optimisticTTI": 6470, "pessimisticTTI": 8438, "roughEstimateOfTTFCPUI": 6470, "optimisticTTFCPUI": 6470, "pessimisticTTFCPUI": 8438, "roughEstimateOfSI": 5568, "optimisticSI": 2131, "pessimisticSI": 4362, "roughEstimateOfEIL": 111, "optimisticEIL": 139, "pessimisticEIL": 139},
+    {"url": "http://www.skype.com/", "roughEstimateOfFCP": 4362, "optimisticFCP": 4362, "pessimisticFCP": 4362, "roughEstimateOfFMP": 4362, "optimisticFMP": 4362, "pessimisticFMP": 4362, "roughEstimateOfTTI": 7591, "optimisticTTI": 6544, "pessimisticTTI": 8638, "roughEstimateOfTTFCPUI": 6544, "optimisticTTFCPUI": 6544, "pessimisticTTFCPUI": 8638, "roughEstimateOfSI": 5568, "optimisticSI": 2131, "pessimisticSI": 4362, "roughEstimateOfEIL": 111, "optimisticEIL": 139, "pessimisticEIL": 139},
     {"url": "http://www.so-net.ne.jp/", "roughEstimateOfFCP": 4713, "optimisticFCP": 3769, "pessimisticFCP": 5658, "roughEstimateOfFMP": 4713, "optimisticFMP": 3769, "pessimisticFMP": 5658, "roughEstimateOfTTI": 12178, "optimisticTTI": 10944, "pessimisticTTI": 13411, "roughEstimateOfTTFCPUI": 10944, "optimisticTTFCPUI": 10944, "pessimisticTTFCPUI": 13411, "roughEstimateOfSI": 8667, "optimisticSI": 3742, "pessimisticSI": 5658, "roughEstimateOfEIL": 1798, "optimisticEIL": 2248, "pessimisticEIL": 2248},
-    {"url": "http://www.softonic.com/", "roughEstimateOfFCP": 3900, "optimisticFCP": 3900, "pessimisticFCP": 3900, "roughEstimateOfFMP": 3900, "optimisticFMP": 3900, "pessimisticFMP": 3900, "roughEstimateOfTTI": 18057, "optimisticTTI": 16989, "pessimisticTTI": 19125, "roughEstimateOfTTFCPUI": 16989, "optimisticTTFCPUI": 16989, "pessimisticTTFCPUI": 19125, "roughEstimateOfSI": 14579, "optimisticSI": 8782, "pessimisticSI": 3900, "roughEstimateOfEIL": 351, "optimisticEIL": 439, "pessimisticEIL": 439},
+    {"url": "http://www.softonic.com/", "roughEstimateOfFCP": 3900, "optimisticFCP": 3900, "pessimisticFCP": 3900, "roughEstimateOfFMP": 3900, "optimisticFMP": 3900, "pessimisticFMP": 3900, "roughEstimateOfTTI": 18063, "optimisticTTI": 16989, "pessimisticTTI": 19137, "roughEstimateOfTTFCPUI": 16989, "optimisticTTFCPUI": 16989, "pessimisticTTFCPUI": 19137, "roughEstimateOfSI": 14579, "optimisticSI": 8782, "pessimisticSI": 3900, "roughEstimateOfEIL": 351, "optimisticEIL": 439, "pessimisticEIL": 439},
     {"url": "http://www.sogou.com/", "roughEstimateOfFCP": 2804, "optimisticFCP": 2804, "pessimisticFCP": 2804, "roughEstimateOfFMP": 2804, "optimisticFMP": 2804, "pessimisticFMP": 2804, "roughEstimateOfTTI": 5086, "optimisticTTI": 4122, "pessimisticTTI": 6050, "roughEstimateOfTTFCPUI": 4122, "optimisticTTFCPUI": 4122, "pessimisticTTFCPUI": 6050, "roughEstimateOfSI": 6731, "optimisticSI": 3684, "pessimisticSI": 2804, "roughEstimateOfEIL": 261, "optimisticEIL": 326, "pessimisticEIL": 326},
-    {"url": "http://www.soso.com/", "roughEstimateOfFCP": 2211, "optimisticFCP": 2090, "pessimisticFCP": 2333, "roughEstimateOfFMP": 2211, "optimisticFMP": 2090, "pessimisticFMP": 2333, "roughEstimateOfTTI": 6223, "optimisticTTI": 4540, "pessimisticTTI": 7906, "roughEstimateOfTTFCPUI": 4540, "optimisticTTFCPUI": 4540, "pessimisticTTFCPUI": 5672, "roughEstimateOfSI": 4821, "optimisticSI": 2539, "pessimisticSI": 2333, "roughEstimateOfEIL": 434, "optimisticEIL": 543, "pessimisticEIL": 543},
+    {"url": "http://www.soso.com/", "roughEstimateOfFCP": 2211, "optimisticFCP": 2090, "pessimisticFCP": 2333, "roughEstimateOfFMP": 2211, "optimisticFMP": 2090, "pessimisticFMP": 2333, "roughEstimateOfTTI": 6131, "optimisticTTI": 4540, "pessimisticTTI": 7723, "roughEstimateOfTTFCPUI": 4540, "optimisticTTFCPUI": 4540, "pessimisticTTFCPUI": 5672, "roughEstimateOfSI": 4821, "optimisticSI": 2539, "pessimisticSI": 2333, "roughEstimateOfEIL": 434, "optimisticEIL": 543, "pessimisticEIL": 543},
     {"url": "http://www.symantec.com/", "roughEstimateOfFCP": 4183, "optimisticFCP": 4183, "pessimisticFCP": 4183, "roughEstimateOfFMP": 4183, "optimisticFMP": 4183, "pessimisticFMP": 4183, "roughEstimateOfTTI": 17098, "optimisticTTI": 13508, "pessimisticTTI": 20688, "roughEstimateOfTTFCPUI": 13508, "optimisticTTFCPUI": 13508, "pessimisticTTFCPUI": 20688, "roughEstimateOfSI": 7229, "optimisticSI": 3400, "pessimisticSI": 4183, "roughEstimateOfEIL": 2678, "optimisticEIL": 3348, "pessimisticEIL": 3348},
-    {"url": "http://www.t-online.de/", "roughEstimateOfFCP": 4728, "optimisticFCP": 4365, "pessimisticFCP": 5091, "roughEstimateOfFMP": 5759, "optimisticFMP": 4365, "pessimisticFMP": 7153, "roughEstimateOfTTI": 25846, "optimisticTTI": 23649, "pessimisticTTI": 28044, "roughEstimateOfTTFCPUI": 23649, "optimisticTTFCPUI": 23649, "pessimisticTTFCPUI": 28044, "roughEstimateOfSI": 9735, "optimisticSI": 4768, "pessimisticSI": 5091, "roughEstimateOfEIL": 397, "optimisticEIL": 497, "pessimisticEIL": 497},
+    {"url": "http://www.t-online.de/", "roughEstimateOfFCP": 4728, "optimisticFCP": 4365, "pessimisticFCP": 5091, "roughEstimateOfFMP": 5759, "optimisticFMP": 4365, "pessimisticFMP": 7153, "roughEstimateOfTTI": 25612, "optimisticTTI": 23178, "pessimisticTTI": 28046, "roughEstimateOfTTFCPUI": 23178, "optimisticTTFCPUI": 23178, "pessimisticTTFCPUI": 28046, "roughEstimateOfSI": 9735, "optimisticSI": 4768, "pessimisticSI": 5091, "roughEstimateOfEIL": 397, "optimisticEIL": 497, "pessimisticEIL": 497},
     {"url": "http://www.tabelog.com/", "roughEstimateOfFCP": 4037, "optimisticFCP": 3223, "pessimisticFCP": 4851, "roughEstimateOfFMP": 4037, "optimisticFMP": 3223, "pessimisticFMP": 4851, "roughEstimateOfTTI": 13318, "optimisticTTI": 10615, "pessimisticTTI": 16022, "roughEstimateOfTTFCPUI": 10615, "optimisticTTFCPUI": 10615, "pessimisticTTFCPUI": 16022, "roughEstimateOfSI": 11052, "optimisticSI": 5820, "pessimisticSI": 4851, "roughEstimateOfEIL": 418, "optimisticEIL": 522, "pessimisticEIL": 522},
-    {"url": "http://www.thefreedictionary.com/", "roughEstimateOfFCP": 1696, "optimisticFCP": 1696, "pessimisticFCP": 1696, "roughEstimateOfFMP": 1696, "optimisticFMP": 1696, "pessimisticFMP": 1696, "roughEstimateOfTTI": 21885, "optimisticTTI": 17974, "pessimisticTTI": 25796, "roughEstimateOfTTFCPUI": 17974, "optimisticTTFCPUI": 17974, "pessimisticTTFCPUI": 18209, "roughEstimateOfSI": 3323, "optimisticSI": 1765, "pessimisticSI": 1696, "roughEstimateOfEIL": 523, "optimisticEIL": 654, "pessimisticEIL": 654},
+    {"url": "http://www.thefreedictionary.com/", "roughEstimateOfFCP": 1696, "optimisticFCP": 1696, "pessimisticFCP": 1696, "roughEstimateOfFMP": 1696, "optimisticFMP": 1696, "pessimisticFMP": 1696, "roughEstimateOfTTI": 21928, "optimisticTTI": 17924, "pessimisticTTI": 25932, "roughEstimateOfTTFCPUI": 17924, "optimisticTTFCPUI": 17924, "pessimisticTTFCPUI": 18209, "roughEstimateOfSI": 3323, "optimisticSI": 1765, "pessimisticSI": 1696, "roughEstimateOfEIL": 523, "optimisticEIL": 654, "pessimisticEIL": 654},
     {"url": "http://www.thepiratebay.org/", "roughEstimateOfFCP": 3239, "optimisticFCP": 3239, "pessimisticFCP": 3239, "roughEstimateOfFMP": 3239, "optimisticFMP": 3239, "pessimisticFMP": 3239, "roughEstimateOfTTI": 5227, "optimisticTTI": 5002, "pessimisticTTI": 5452, "roughEstimateOfTTFCPUI": 5002, "optimisticTTFCPUI": 5002, "pessimisticTTFCPUI": 5452, "roughEstimateOfSI": 11137, "optimisticSI": 6630, "pessimisticSI": 3239, "roughEstimateOfEIL": 85, "optimisticEIL": 106, "pessimisticEIL": 106},
-    {"url": "http://www.thestar.com.my", "roughEstimateOfFCP": 5944, "optimisticFCP": 5774, "pessimisticFCP": 6114, "roughEstimateOfFMP": 6531, "optimisticFMP": 5960, "pessimisticFMP": 7101, "roughEstimateOfTTI": 14839, "optimisticTTI": 11719, "pessimisticTTI": 17959, "roughEstimateOfTTFCPUI": 11719, "optimisticTTFCPUI": 11719, "pessimisticTTFCPUI": 17959, "roughEstimateOfSI": 11724, "optimisticSI": 5714, "pessimisticSI": 6114, "roughEstimateOfEIL": 275, "optimisticEIL": 344, "pessimisticEIL": 344},
+    {"url": "http://www.thestar.com.my", "roughEstimateOfFCP": 5944, "optimisticFCP": 5774, "pessimisticFCP": 6114, "roughEstimateOfFMP": 6531, "optimisticFMP": 5960, "pessimisticFMP": 7101, "roughEstimateOfTTI": 15305, "optimisticTTI": 11818, "pessimisticTTI": 18793, "roughEstimateOfTTFCPUI": 11818, "optimisticTTFCPUI": 11818, "pessimisticTTFCPUI": 18793, "roughEstimateOfSI": 11724, "optimisticSI": 5714, "pessimisticSI": 6114, "roughEstimateOfEIL": 275, "optimisticEIL": 344, "pessimisticEIL": 344},
     {"url": "http://www.tianya.cn/", "roughEstimateOfFCP": 2328, "optimisticFCP": 2326, "pessimisticFCP": 2331, "roughEstimateOfFMP": 2328, "optimisticFMP": 2326, "pessimisticFMP": 2331, "roughEstimateOfTTI": 6909, "optimisticTTI": 6062, "pessimisticTTI": 7756, "roughEstimateOfTTFCPUI": 6062, "optimisticTTFCPUI": 6062, "pessimisticTTFCPUI": 7756, "roughEstimateOfSI": 9571, "optimisticSI": 5933, "pessimisticSI": 2331, "roughEstimateOfEIL": 2076, "optimisticEIL": 2595, "pessimisticEIL": 2595},
     {"url": "http://www.torrentz.com/", "roughEstimateOfFCP": 605, "optimisticFCP": 605, "pessimisticFCP": 605, "roughEstimateOfFMP": 605, "optimisticFMP": 605, "pessimisticFMP": 605, "roughEstimateOfTTI": 995, "optimisticTTI": 972, "pessimisticTTI": 1017, "roughEstimateOfTTFCPUI": 972, "optimisticTTFCPUI": 972, "pessimisticTTFCPUI": 1067, "roughEstimateOfSI": 1225, "optimisticSI": 773, "pessimisticSI": 605, "roughEstimateOfEIL": 13, "optimisticEIL": 16, "pessimisticEIL": 16},
     {"url": "http://www.tumblr.com/", "roughEstimateOfFCP": 3569, "optimisticFCP": 3569, "pessimisticFCP": 3569, "roughEstimateOfFMP": 3569, "optimisticFMP": 3569, "pessimisticFMP": 3569, "roughEstimateOfTTI": 11811, "optimisticTTI": 11516, "pessimisticTTI": 12106, "roughEstimateOfTTFCPUI": 11516, "optimisticTTFCPUI": 11516, "pessimisticTTFCPUI": 12106, "roughEstimateOfSI": 3861, "optimisticSI": 1280, "pessimisticSI": 3569, "roughEstimateOfEIL": 2035, "optimisticEIL": 2544, "pessimisticEIL": 2544},
     {"url": "http://www.twitpic.com/", "roughEstimateOfFCP": 2177, "optimisticFCP": 2177, "pessimisticFCP": 2177, "roughEstimateOfFMP": 6139, "optimisticFMP": 6139, "pessimisticFMP": 6139, "roughEstimateOfTTI": 7864, "optimisticTTI": 7789, "pessimisticTTI": 7939, "roughEstimateOfTTFCPUI": 7789, "optimisticTTFCPUI": 7789, "pessimisticTTFCPUI": 7939, "roughEstimateOfSI": 3168, "optimisticSI": 1431, "pessimisticSI": 2177, "roughEstimateOfEIL": 981, "optimisticEIL": 1226, "pessimisticEIL": 1226},
     {"url": "http://www.typepad.com/", "roughEstimateOfFCP": 3182, "optimisticFCP": 2126, "pessimisticFCP": 4238, "roughEstimateOfFMP": 3343, "optimisticFMP": 2447, "pessimisticFMP": 4238, "roughEstimateOfTTI": 4421, "optimisticTTI": 3726, "pessimisticTTI": 5117, "roughEstimateOfTTFCPUI": 3726, "optimisticTTFCPUI": 3726, "pessimisticTTFCPUI": 5117, "roughEstimateOfSI": 3852, "optimisticSI": 962, "pessimisticSI": 4238, "roughEstimateOfEIL": 108, "optimisticEIL": 16, "pessimisticEIL": 253},
-    {"url": "http://www.verizonwireless.com/", "roughEstimateOfFCP": 2901, "optimisticFCP": 2901, "pessimisticFCP": 2901, "roughEstimateOfFMP": 3654, "optimisticFMP": 3654, "pessimisticFMP": 3654, "roughEstimateOfTTI": 16050, "optimisticTTI": 13945, "pessimisticTTI": 18155, "roughEstimateOfTTFCPUI": 13945, "optimisticTTFCPUI": 13945, "pessimisticTTFCPUI": 18155, "roughEstimateOfSI": 3827, "optimisticSI": 1565, "pessimisticSI": 2901, "roughEstimateOfEIL": 931, "optimisticEIL": 1164, "pessimisticEIL": 1164},
-    {"url": "http://www.vevo.com/", "roughEstimateOfFCP": 2261, "optimisticFCP": 2261, "pessimisticFCP": 2261, "roughEstimateOfFMP": 3118, "optimisticFMP": 3118, "pessimisticFMP": 3118, "roughEstimateOfTTI": 24456, "optimisticTTI": 19423, "pessimisticTTI": 29489, "roughEstimateOfTTFCPUI": 19423, "optimisticTTFCPUI": 19423, "pessimisticTTFCPUI": 20335, "roughEstimateOfSI": 4464, "optimisticSI": 2318, "pessimisticSI": 2261, "roughEstimateOfEIL": 2218, "optimisticEIL": 2772, "pessimisticEIL": 2772},
-    {"url": "http://www.weather.com/", "roughEstimateOfFCP": 3726, "optimisticFCP": 3726, "pessimisticFCP": 3726, "roughEstimateOfFMP": 3726, "optimisticFMP": 3726, "pessimisticFMP": 3726, "roughEstimateOfTTI": 28679, "optimisticTTI": 25240, "pessimisticTTI": 32118, "roughEstimateOfTTFCPUI": 25240, "optimisticTTFCPUI": 25240, "pessimisticTTFCPUI": 32118, "roughEstimateOfSI": 6665, "optimisticSI": 3209, "pessimisticSI": 3726, "roughEstimateOfEIL": 2102, "optimisticEIL": 2627, "pessimisticEIL": 2627},
+    {"url": "http://www.verizonwireless.com/", "roughEstimateOfFCP": 2901, "optimisticFCP": 2901, "pessimisticFCP": 2901, "roughEstimateOfFMP": 3654, "optimisticFMP": 3654, "pessimisticFMP": 3654, "roughEstimateOfTTI": 16275, "optimisticTTI": 14246, "pessimisticTTI": 18305, "roughEstimateOfTTFCPUI": 14246, "optimisticTTFCPUI": 14246, "pessimisticTTFCPUI": 18305, "roughEstimateOfSI": 3827, "optimisticSI": 1565, "pessimisticSI": 2901, "roughEstimateOfEIL": 931, "optimisticEIL": 1164, "pessimisticEIL": 1164},
+    {"url": "http://www.vevo.com/", "roughEstimateOfFCP": 2261, "optimisticFCP": 2261, "pessimisticFCP": 2261, "roughEstimateOfFMP": 3118, "optimisticFMP": 3118, "pessimisticFMP": 3118, "roughEstimateOfTTI": 24606, "optimisticTTI": 19573, "pessimisticTTI": 29639, "roughEstimateOfTTFCPUI": 19573, "optimisticTTFCPUI": 19573, "pessimisticTTFCPUI": 20485, "roughEstimateOfSI": 4464, "optimisticSI": 2318, "pessimisticSI": 2261, "roughEstimateOfEIL": 2218, "optimisticEIL": 2772, "pessimisticEIL": 2772},
+    {"url": "http://www.weather.com/", "roughEstimateOfFCP": 3726, "optimisticFCP": 3726, "pessimisticFCP": 3726, "roughEstimateOfFMP": 3726, "optimisticFMP": 3726, "pessimisticFMP": 3726, "roughEstimateOfTTI": 28698, "optimisticTTI": 25240, "pessimisticTTI": 32156, "roughEstimateOfTTFCPUI": 25240, "optimisticTTFCPUI": 25240, "pessimisticTTFCPUI": 32156, "roughEstimateOfSI": 6665, "optimisticSI": 3209, "pessimisticSI": 3726, "roughEstimateOfEIL": 2102, "optimisticEIL": 2627, "pessimisticEIL": 2627},
     {"url": "http://www.wikipedia.org/", "roughEstimateOfFCP": 1234, "optimisticFCP": 1234, "pessimisticFCP": 1234, "roughEstimateOfFMP": 1234, "optimisticFMP": 1234, "pessimisticFMP": 1234, "roughEstimateOfTTI": 4416, "optimisticTTI": 4370, "pessimisticTTI": 4461, "roughEstimateOfTTFCPUI": 4370, "optimisticTTFCPUI": 4370, "pessimisticTTFCPUI": 4461, "roughEstimateOfSI": 2494, "optimisticSI": 1387, "pessimisticSI": 1234, "roughEstimateOfEIL": 1682, "optimisticEIL": 2102, "pessimisticEIL": 2102},
-    {"url": "http://www.ynet.com/", "roughEstimateOfFCP": 2344, "optimisticFCP": 2344, "pessimisticFCP": 2344, "roughEstimateOfFMP": 2344, "optimisticFMP": 2344, "pessimisticFMP": 2344, "roughEstimateOfTTI": 8096, "optimisticTTI": 4413, "pessimisticTTI": 11780, "roughEstimateOfTTFCPUI": 4413, "optimisticTTFCPUI": 4413, "pessimisticTTFCPUI": 7713, "roughEstimateOfSI": 5079, "optimisticSI": 2718, "pessimisticSI": 2344, "roughEstimateOfEIL": 152, "optimisticEIL": 190, "pessimisticEIL": 190},
+    {"url": "http://www.ynet.com/", "roughEstimateOfFCP": 2344, "optimisticFCP": 2344, "pessimisticFCP": 2344, "roughEstimateOfFMP": 2344, "optimisticFMP": 2344, "pessimisticFMP": 2344, "roughEstimateOfTTI": 8153, "optimisticTTI": 4413, "pessimisticTTI": 11893, "roughEstimateOfTTFCPUI": 4413, "optimisticTTFCPUI": 4413, "pessimisticTTFCPUI": 7713, "roughEstimateOfSI": 5079, "optimisticSI": 2718, "pessimisticSI": 2344, "roughEstimateOfEIL": 152, "optimisticEIL": 190, "pessimisticEIL": 190},
     {"url": "http://www.youdao.com/", "roughEstimateOfFCP": 3063, "optimisticFCP": 3063, "pessimisticFCP": 3063, "roughEstimateOfFMP": 3063, "optimisticFMP": 3063, "pessimisticFMP": 3063, "roughEstimateOfTTI": 3063, "optimisticTTI": 3063, "pessimisticTTI": 3063, "roughEstimateOfTTFCPUI": 3063, "optimisticTTFCPUI": 1531, "pessimisticTTFCPUI": 1577, "roughEstimateOfSI": 6467, "optimisticSI": 3376, "pessimisticSI": 3063, "roughEstimateOfEIL": 13, "optimisticEIL": 16, "pessimisticEIL": 16},
     {"url": "http://www.zol.com.cn/", "roughEstimateOfFCP": 3008, "optimisticFCP": 2109, "pessimisticFCP": 3907, "roughEstimateOfFMP": 3008, "optimisticFMP": 2109, "pessimisticFMP": 3907, "roughEstimateOfTTI": 10292, "optimisticTTI": 6545, "pessimisticTTI": 14039, "roughEstimateOfTTFCPUI": 6545, "optimisticTTFCPUI": 6545, "pessimisticTTFCPUI": 8704, "roughEstimateOfSI": 14233, "optimisticSI": 8531, "pessimisticSI": 3907, "roughEstimateOfEIL": 249, "optimisticEIL": 83, "pessimisticEIL": 539}
   ]