Biggest Lagger: The Top Ten Elements that Slow Your Internet Down (US)

November 28, 2011
By

Thanks to our awesome GhostRank Panel volunteers, we can (as most of you know) monitor the internet and most of the 3rd party content on it. Out of the nearly 800 companies we watch, we pegged these guys as the ones that lag your browsing experience the most if you live in the USA. To this extent, we’ve dubbed them “Lagtags.” Yes, they’re not all tags – many of them are analytics scripts or widgets – but it just seems to fit. On to the analysis:

Some points of interest:

  • Avalanchers’ load time exceeded its next closest competitor, Adfunky, by a whopping 1,300 milliseconds.
  • If you were to load all of these elements on one page, in succession, they would add about 22 more seconds to the page’s load time. Think about that.
  • From a transparency standpoint, most of these companies don’t disclose how long they retain the data they collect or who they share it with.

Here’s a list of the actual times, with links to our company profiles:

Avalanchers: 3912.721751
Adfunky: 2600.142857
2leep: 2305.563533
ShareASale: 2090.703573
Brand Affinity: 1917.470961
Adfusion: 1908.145773
Wahoha: 1853.056856
GoDaddy Site Analytics: 1793.0625
Redux Media: 1663.106572
Kitara Media: 1578.838889

CORRECTION: You’d think with all this latency, we would have had time to triple-check our data. However, in a previous version of this post, we confused Adfunky and Millennial Media in the graph. This has been corrected, and our apologies go out to Millennial.

 

Methodology

Ghostery implements Firefox Content Policy XPCOM filter (http://mxr.mozilla.org/mozilla1.9.1/source/content/base/public/nsIContentPolicy.idl). As such, the content policy filter contains a method that all network events are routed through: shouldLoad. In addition to serving as the block point for Ghostery, we use it to mark every network element that Ghostery is interested in with a startTime user added data component and a unload event that inserts endTime for the same element. Here is the relevant piece of code:

addRequestTime: function(contentType, node) {
if (!node) return;

try {
if ( ( node instanceof Ci.nsIDOMNode ) &&
( (contentType == Ci.nsIContentPolicy.TYPE_SCRIPT) ||
(contentType == Ci.nsIContentPolicy.TYPE_OBJECT) ||
(contentType == Ci.nsIContentPolicy.TYPE_OBJECT_SUBREQUEST) ||
(contentType == Ci.nsIContentPolicy.TYPE_IMAGE) ||
(contentType == Ci.nsIContentPolicy.TYPE_SUBDOCUMENT) ) ) {
node.setUserData(‘ghosteryRequestStartTime’, (new Date()).getTime(), null);
node.addEventListener(“load”, function() {
node.setUserData(‘ghosteryRequestEndTime’, (new Date()).getTime(), null);
}, true);
}
} catch (e) {}

},

This is done to every element passing through Ghostery component. In Ghostery overlay (the stuff that goes on top of Firefox), Ghostery then checks every page to see if there are Ghostery elements. If there are, and GhostRank is enabled, the elements are reported to our census server. Every 1/100 requests will also submit latency data. Here is the calculation for it:

analyzeLatency: function(el, bugId) {
var s = el.getUserData(‘ghosteryRequestStartTime’),
e = el.getUserData(‘ghosteryRequestEndTime’),
t = e – s;

if (t > 0) {
ghostery.recordLatency(bugId, t);
}
},

Stay tuned for our next post: Biggest Lagger:  The Top Ten Elements that Slow Your Web Internet Down (Non-US)

 

 

5 Responses to Biggest Lagger: The Top Ten Elements that Slow Your Internet Down (US)

  1. Brad on November 29, 2011 at 5:49 am

    Honestly surprised Adsense/Facebook are included.

  2. John Coryat on November 29, 2011 at 6:11 am

    Where does Google Analytics stand?

  3. Vincent Flanders on November 30, 2011 at 7:58 pm

    Wonderful idea. I’d really like to see the top 50 offenders.

  4. Molahanor on December 29, 2011 at 10:48 pm

    The idea then was that Mozilla makes the browser as light as possible and if users wanted more functionality they would download add ons.

  5. blondasse on March 26, 2014 at 2:47 am

    Bon, jе n’ai paѕ euu le temps de terminer de regarder mais je revgiens dans la journée

Leave a Reply

Your email address will not be published. Required fields are marked *