HT

JavaScript performance comparison

Test case created by Sinan Alyuruk

Preparation code

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
        <head>
                <title>HABERTÜRK-TÜRKİYE'NİN EN BÜYÜK İNTERNET GAZETESİ</title>
                <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
                <meta http-equiv="content-language" content="TR" />
                <meta http-equiv="X-UA-Compatible" content="IE=9" />
                                <link rel="stylesheet" type="text/css" href="/scripts/Haberturk.css?v=26506" />
                <script type="text/javascript" src="/scripts/core/jquery-1.7.2.min.js"></script>
                <script type="text/javascript" src="/scripts/core/jquery.plugins.js?v=26125"></script>           <link rel="shortcut icon" href="/favicon.ico" />
                <!-- (C)2000-2014 Gemius SA - gemiusAudience -->
<script type="text/javascript">
<!--//--><![CDATA[//><!--
var pp_gemius_identifier = '.Ks6EXiT0w3y8wv1nBgAu4aTnJ5p95gb4yDgbVTkz5H.37';
function gemius_pending(i) { window[i] = window[i] || function() {var x = window[i+'_pdata'] = window[i+'_pdata'] || []; x[x.length]=arguments;};};
gemius_pending('gemius_hit'); gemius_pending('gemius_event'); gemius_pending('pp_gemius_hit'); gemius_pending('pp_gemius_event');
(function(d,t) {try {var gt=d.createElement(t),s=d.getElementsByTagName(t)[0],l='http'+((location.protocol=='https:')?'s':''); gt.setAttribute('async','async');
gt.setAttribute('defer','defer'); gt.src=l+'://tr.hit.gemius.pl/xgemius.js'; s.parentNode.insertBefore(gt,s);} catch (e) {}})(document,'script');
//--><!]]>
</script>
<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-206852-3', 'haberturk.com');
  ga('send', 'pageview');

</script>
<script type="text/javascript">
function googleAnalyticsEvent(category, action, label, value) {
        var pageTracker = _gat._createTracker("UA-206852-3");
        pageTracker._trackEvent(category, action, label, value);
}

(function() {
        if (!self.jQuery) return;
       
        jQuery(function() {
                jQuery("a.ga-track").click(function(event) {
                        try {
                                var lnk = jQuery(this);
                                var value = lnk.attr("ga-value");
                                var url = lnk.attr("href");
                                var target = lnk.attr("target");
                                if (value) {
                                        googleAnalyticsEvent("Navigation", "Click", value, null);

                                        if (!(event.ctrlKey || event.which == 2 || target == "_blank")) {
                                                setTimeout(function() {document.location.href = url;}, 100);

                                                // return false to disable navigation
                                                return false;
                                        }
                                }
                        } catch(err){}
                });
        });
})();
</script><!-- Begin comScore Tag -->
<script type="text/javascript">
var _comscore = _comscore || [];
_comscore.push({ c1: "2", c2: "13128579" });
(function() {
var s = document.createElement("script"), el = document.getElementsByTagName("script")[0]; s.async = true;
s.src = (document.location.protocol == "https:" ? "https://sb" : "http://b") + ".scorecardresearch.com/beacon.js";
el.parentNode.insertBefore(s, el);
})();
</script>
<!-- End comScore Tag --><!-- Begin OGEZIO Tag -->
<script type="text/javascript" src="//o.gez.io/getuid"></script>
<script type="text/javascript">
var _ogezio = _ogezio || [];
_ogezio.push({"m1":100,"m2":1,"m3":""});
(function() {
var s = document.createElement("script"), el = document.getElementsByTagName("script")[0]; s.async = true;
s.src = (document.location.protocol == "https:" ? "https://" : "http://") + "o.gez.io/s/t.js?v=11";
el.parentNode.insertBefore(s, el);
})();
</script>
<!-- End OGEZIO Tag --> </head>
        <body style="background: #fff;">
               
<div id="zone_134" zone-id="134" class="ads-zone"></div><div id="zone_136" zone-id="136" class="ads-zone"></div><div id="zone_148" zone-id="148" class="ads-zone"></div><div id="zone_149" zone-id="149" class="ads-zone"></div><div id="zone_151" zone-id="151" class="ads-zone adzone-box" style="z-index: 23;"></div><div id="zone_152" zone-id="152" class="ads-zone adzone-box" style="z-index: 22;"></div><div id="zone_153" zone-id="153" class="ads-zone adzone-box" style="z-index: 21;"></div><div id="zone_545" zone-id="545" class="ads-zone"></div><div id="zone_576" zone-id="576" class="ads-zone"></div><div id="zone_578" zone-id="578" class="ads-zone"></div><div id="zone_697" zone-id="697" class="ads-zone adzone-box" style="z-index: 24;"></div><div id="zone_695" zone-id="695" class="ads-zone adzone-box"></div><div id="zone_750" zone-id="750" class="ads-zone" style="width: 959px; overflow: hidden;"></div><div id="zone_755" zone-id="755" class="ads-zone"></div><div id="zone_795" zone-id="795" class="ads-zone adsPageSkinLeft"></div><div id="zone_796" zone-id="796" class="ads-zone adsPageSkinRight"></div><script type="text/javascript">
var cbgAdsSettings = {frameUrl: "\/statics\/adsFrame.html", forceIFrame: 0};
cbgAds = {RenderZone: function(){}, PlaceAds: function(){}};
</script>
<script type="text/javascript" src="/widgetjs/adsZoneData.js"></script><div id="placer-zone_134" style="display: none;"><script type="text/javascript">cbgAds.RenderZone(134);</script></div>
<div id="placer-zone_136" style="display: none;"><script type="text/javascript">cbgAds.RenderZone(136);</script></div>
<div id="placer-zone_148" style="display: none;"><script type="text/javascript">cbgAds.RenderZone(148);</script></div>
<div id="placer-zone_149" style="display: none;"><script type="text/javascript">cbgAds.RenderZone(149);</script></div>
<div id="placer-zone_151" style="display: none;"><script type="text/javascript">cbgAds.RenderZone(151);</script></div>
<div id="placer-zone_152" style="display: none;"><script type="text/javascript">cbgAds.RenderZone(152);</script></div>
<div id="placer-zone_153" style="display: none;"><script type="text/javascript">cbgAds.RenderZone(153);</script></div>
<div id="placer-zone_545" style="display: none;"><script type="text/javascript">cbgAds.RenderZone(545);</script></div>
<div id="placer-zone_576" style="display: none;"><script type="text/javascript">cbgAds.RenderZone(576);</script></div>
<div id="placer-zone_578" style="display: none;"><script type="text/javascript">cbgAds.RenderZone(578);</script></div>
<div id="placer-zone_697" style="display: none;"><script type="text/javascript">cbgAds.RenderZone(697);</script></div>
<div id="placer-zone_695" style="display: none;"><script type="text/javascript">cbgAds.RenderZone(695);</script></div>
<div id="placer-zone_750" style="display: none;"><script type="text/javascript">cbgAds.RenderZone(750);</script></div>
<div id="placer-zone_755" style="display: none;"><script type="text/javascript">cbgAds.RenderZone(755);</script></div>
<div id="placer-zone_795" style="display: none;"><script type="text/javascript">cbgAds.RenderZone(795);</script></div>
<div id="placer-zone_796" style="display: none;"><script type="text/javascript">cbgAds.RenderZone(796);</script></div>
<script type="text/javascript">cbgAds.PlaceAds();</script>
        </body>
</html>
 

Preparation code output

HABERTÜRK-TÜRKİYE'NİN EN BÜYÜK İNTERNET GAZETESİ

Test runner

Warning! For accurate results, please disable Firebug before running the tests. (Why?)

Java applet disabled.

Testing in unknown unknown
Test Ops/sec
him1
// async test
(function($) {
        var zoneData = {"isEnabled":true,"zoneList":{"136":0,"145":0,"502":0,"567":0,"568":0,"569":0,"672":0,"700":0,"778":0,"795":0},"zoneRType":{"150":1,"151":1,"152":1,"153":1,"527":1,"578":1,"755":1,"768":1}};
        // set default settings
        if (!cbgAdsSettings) {
                cbgAdsSettings = {};
        }
        if (!cbgAdsSettings.frameUrl) {
                cbgAdsSettings.frameUrl = "/statics/adsFrame.html";
        }
        if (!cbgAdsSettings.forceIFrame) {
                cbgAdsSettings.forceIFrame = false;
        }
        var isIELT8 = /MSIE [567]/.test(navigator.userAgent);
        var settings = cbgAdsSettings;
        var activeContainers = [], passivePlacers = [], frameContainers = [];
        var adspBaseUrl = "http://adsp.haberturk.com/advertpro/servlet/view/";
        cbgAds = {
                Init: function() {
                        $(".ads-zone").each(function() {
                                var cnt = $(this);
                                var zoneId = cnt.attr('zone-id');
                                if (zoneData.isEnabled && (typeof zoneData.zoneList[zoneId] == 'undefined' || zoneData.zoneList[zoneId])) {
                                        if (isIELT8 || typeof zoneData.zoneRType[zoneId] == 'undefined' || zoneData.zoneRType[zoneId] == 0) {
                                                if (cbgAdsSettings.forceIFrame) {
                                                        frameContainers[zoneId] = cnt;
                                                } else {
                                                        activeContainers[zoneId] = cnt;
                                                }
                                        } else if (zoneData.zoneRType[zoneId] == 1) {
                                                frameContainers[zoneId] = cnt;
                                                //TODO: passivePlacers[zoneId] = "#placer-zone_" + zoneId;
                                        }
                                } else {
                                        passivePlacers[zoneId] = "#placer-zone_" + zoneId;
                                        cnt.remove();
                                }
                        });
                },
                RenderZone: function(zoneId) {
                        if (activeContainers[zoneId]) {
                                var cnt = activeContainers[zoneId], keywords = cnt.attr("zone-keywords"), viewType = cnt.attr("zone-viewtype");
                                if (keywords) keywords += '&'; else keywords = "";
                                if (!viewType) viewType = 'dynamic';
                                document.write('<SCR' + 'IPT src="' + adspBaseUrl + viewType + '/javascript/zone?' + keywords + 'zid=' + zoneId + '&pid=0&contextual=true&random=' + Math.floor(89999999 * Math.random() + 10000000) + '&millis=' + new Date().getTime() + '&timestamp=' + new Date().getTime() + '" language="JavaScript" type="text/javascript"></SCR' + 'IPT>');
                        }
                },
                PlaceAds: function() {
                        for (var zoneId in passivePlacers)
                                $(passivePlacers[zoneId]).remove();
                        for (var zoneId in activeContainers) {
                                var cnt = activeContainers[zoneId];
                                var bp = $('#placer-zone_' + zoneId);
                                bp.find('script').remove();
                                bp.find('>*').appendTo(cnt);
                                bp.remove();
                        }
                },
                RenderZonesIframe: function() {
                        var bd = $("body");
                        for (var zoneId in frameContainers) {
                                var frm = $("<iframe style='display: none;' src='" + settings.frameUrl + "#" + zoneId + "'></iframe>");
                                frm.attr("id", "adp_frm_" + zoneId);
                                bd.append(frm);
                        }
                },
                RenderZoneInIframe: function(d, zoneId) {
                        if (frameContainers[zoneId]) {
                                var cnt = frameContainers[zoneId], keywords = cnt.attr("zone-keywords"), viewType = cnt.attr("zone-viewtype");
                                if (keywords) keywords += '&'; else keywords = "";
                                if (!viewType) viewType = 'dynamic';
                                d.write('<SCR' + 'IPT src="' + adspBaseUrl + viewType + '/javascript/zone?' + keywords + 'zid=' + zoneId + '&pid=0&contextual=true&random=' + Math.floor(89999999 * Math.random() + 10000000) + '&millis=' + new Date().getTime() + '&timestamp=' + new Date().getTime() + '" language="JavaScript" type="text/javascript"></SCR' + 'IPT>');
                        }
                },
                PlaceAdToParent: function(zoneId) {
                        var cnt = frameContainers[zoneId];
                        var frm = $("#adp_frm_" + zoneId);
                        //var bp = frm.contents().find('#adf_cnt_zone');
                        var frmdoc = frm[0].contentDocument || frm[0].contentWindow.document;
                        var bp = $(frmdoc).find('#adf_cnt_zone');
                        bp.find('script').remove();
                        bp.find('>*').appendTo(cnt);
                        bp.remove();
                        //TODO: ??? frm.remove();
                }
        };
        cbgAds.Init();
        cbgAds.RenderZonesIframe();
})(jQuery);
 
pending…
him2
// async test
document.writeln('<scr' + 'ipt type=\"text/javascript\" src=\"http://ww965.smartadserver.com/call/pubj/53412/387101/23204/S/20140926122705/[target]?[countgo]\"></scr' + 'ipt>');
pending…

You can edit these tests or add even more tests to this page by appending /edit to the URL.

Compare results of other browsers

0 comments

Add a comment