regexp-ff-vs-chrome (v5)

Revision 5 of this benchmark created on


Setup

var regExArray = [];
    var keyArray = [];
    var urlArray = [];

    regExArray.push(new RegExp('/bluekai.'));
    regExArray.push(new RegExp('/bluekai/*'));
    regExArray.push(new RegExp('/blueKaiAnalytics.'));
    regExArray.push(new RegExp('/bluekaicookieinfo.'));
    regExArray.push(new RegExp('/BlueKaiPixel/*'));
    regExArray.push(new RegExp('/bluetracker/*'));
    regExArray.push(new RegExp('/bm-analytics-trk.js'));
    regExArray.push(new RegExp('/bm-analytics/*'));
    regExArray.push(new RegExp('/bm-bam-trk.'));
    regExArray.push(new RegExp('/boomerang-minified-'));
    regExArray.push(new RegExp('/boomerang.js'));
    regExArray.push(new RegExp('/boost_stats.'));
    regExArray.push(new RegExp('/botd.gif?'));
    regExArray.push(new RegExp('/bower_components/fp/fp.js'));
    regExArray.push(new RegExp('/br-trk-'));
    regExArray.push(new RegExp('/br-trk.'));
    regExArray.push(new RegExp('/br_imps/add_item?'));
    regExArray.push(new RegExp('/brightcove/tracking/*'));
    regExArray.push(new RegExp('/brightcoveGoogleAnalytics.'));
    regExArray.push(new RegExp('/brightedge.js'));
    regExArray.push(new RegExp('/britetrack/*'));
    regExArray.push(new RegExp('/bsc_trak.'));
    regExArray.push(new RegExp('/bstat.js'));
    regExArray.push(new RegExp('/bstats.'));
    regExArray.push(new RegExp('/bsuite/worker.php?'));
    regExArray.push(new RegExp('/btn_tracking_pixel.'));
    regExArray.push(new RegExp('/buffer.pgif?r='));
    regExArray.push(new RegExp('/bugcounter.php?'));
    regExArray.push(new RegExp('/bugsnag-'));
    regExArray.push(new RegExp('/BuiltRegister.aspx?upt='));
    regExArray.push(new RegExp('/bundles/cm.js|'));
    regExArray.push(new RegExp('/buzz_stats.'));
    regExArray.push(new RegExp('/byside_webcare.'));
    regExArray.push(new RegExp('/c.gif?daid'));
    regExArray.push(new RegExp('/c2_count.js'));
    regExArray.push(new RegExp('/C4ATracker.'));
    regExArray.push(new RegExp('/c?siteID=$image,script'));
    regExArray.push(new RegExp('/c_track.php?'));
    regExArray.push(new RegExp('/callbacks/stats?'));
    regExArray.push(new RegExp('/campaign_tracker.'));
    regExArray.push(new RegExp('/campaign_trax.'));
    regExArray.push(new RegExp('/cbanalytics.'));
    regExArray.push(new RegExp('/cclickTracking.'));
    regExArray.push(new RegExp('/cdn5.js?'));
    regExArray.push(new RegExp('/cds-webanalytics.'));
    regExArray.push(new RegExp('/cdx.gif?'));
    regExArray.push(new RegExp('/cedexis-'));
    regExArray.push(new RegExp('/cedexis.js'));
    regExArray.push(new RegExp('/cedexis/*'));
    regExArray.push(new RegExp('/cedexisus.'));
    regExArray.push(new RegExp('/certifica-js14.js'));
    regExArray.push(new RegExp('/certifica.js'));
    regExArray.push(new RegExp('/certifica_2010.js'));
    regExArray.push(new RegExp('/certona.'));
    regExArray.push(new RegExp('/Certona/*'));
    regExArray.push(new RegExp('/certona_$script'));
    regExArray.push(new RegExp('/cfformprotect/*'));
    regExArray.push(new RegExp('/cgi-bin/cnt/*'));
    regExArray.push(new RegExp('/cgi-bin/count.pl?'));
    regExArray.push(new RegExp('/cgi-bin/count/*'));
    regExArray.push(new RegExp('/cgi-bin/count1.cgi?'));
    regExArray.push(new RegExp('/cgi-bin/CP/*'));
    regExArray.push(new RegExp('/cgi-bin/ctasp-server.cgi?'));
    regExArray.push(new RegExp('/cgi-bin/hits/*'));
    regExArray.push(new RegExp('/cgi-bin/ivw-ssl/*'));
    regExArray.push(new RegExp('/cgi-bin/ivw/*'));
    regExArray.push(new RegExp('/cgi-bin/lcpnp/*'));
    regExArray.push(new RegExp('/cgi-bin/online/uos.cgi?'));
    regExArray.push(new RegExp('/cgi-bin/refsd?'));
    regExArray.push(new RegExp('/cgi-bin/te/in.cgi?'));
    regExArray.push(new RegExp('/cgi-bin/user_online/uos.cgi?'));
    regExArray.push(new RegExp('/cgi-bin/useronline/*'));
    regExArray.push(new RegExp('/cgi-bin/vdz/*'));
    regExArray.push(new RegExp('/cgi-sys/count.cgi?df='));
    regExArray.push(new RegExp('/cgi/bin/trk.js'));
    regExArray.push(new RegExp('/cgi/count?'));
    regExArray.push(new RegExp('/cgi/stats.pl?'));
    regExArray.push(new RegExp('/cgi/trk.js'));
    regExArray.push(new RegExp('/chan_slidesurvey.js'));
    regExArray.push(new RegExp('/chanalytics.'));
    regExArray.push(new RegExp('/channelintelligence/*'));
    regExArray.push(new RegExp('/ChannelTracking.'));
    regExArray.push(new RegExp('/ChannelTrackingConverter.'));
    regExArray.push(new RegExp('/chartbeat-'));
    regExArray.push(new RegExp('/chartbeat.jhtml'));
    regExArray.push(new RegExp('/chartbeat.js'));
    regExArray.push(new RegExp('/chartbeat.min.js'));
    regExArray.push(new RegExp('/chartbeat/*'));
    regExArray.push(new RegExp('/chartbeat_'));
    regExArray.push(new RegExp('/chartbeatCode.'));
    regExArray.push(new RegExp('/chartbeatftr.'));
    regExArray.push(new RegExp('/chcounter/*'));
    regExArray.push(new RegExp('/checkstat.asp'));
    regExArray.push(new RegExp('/cim_tns/spring.js'));
    regExArray.push(new RegExp('/citycounter.'));
    regExArray.push(new RegExp('/cjtracker2.'));
    regExArray.push(new RegExp('/ckimg_1x1.gif?'));
    regExArray.push(new RegExp('/cklink.gif?'));
    regExArray.push(new RegExp('/clacking.js'));
    regExArray.push(new RegExp('/clear.gif?'));
    regExArray.push(new RegExp('/clear/c.gif?'));
    regExArray.push(new RegExp('/click-logger.'));
    regExArray.push(new RegExp('/click-stat.js'));
    regExArray.push(new RegExp('/click-tracker'));
    regExArray.push(new RegExp('/click_metrics-jquery.js'));
    regExArray.push(new RegExp('/click_stat/*'));
    regExArray.push(new RegExp('/click_statistics/*'));
    regExArray.push(new RegExp('/click_track.js'));
    regExArray.push(new RegExp('/click_tracking'));
    regExArray.push(new RegExp('/clickability-'));
    regExArray.push(new RegExp('/clickability.'));
    regExArray.push(new RegExp('/clickability/*'));
    regExArray.push(new RegExp('/clickability2/*'));
    regExArray.push(new RegExp('/clickAnalyse.'));
    regExArray.push(new RegExp('/clickcount.cfm?'));
    regExArray.push(new RegExp('/clickcount_'));
    regExArray.push(new RegExp('/clickheat.js'));
    regExArray.push(new RegExp('/clickheat^'));
    regExArray.push(new RegExp('/clicklog.'));
    regExArray.push(new RegExp('/clicklog_'));
    regExArray.push(new RegExp('/clickLogger?'));
    regExArray.push(new RegExp('/clicklognew.'));
    regExArray.push(new RegExp('/clickmap.js'));
    regExArray.push(new RegExp('/clickpathmedia.'));
    regExArray.push(new RegExp('/clickpathmedia_'));
    regExArray.push(new RegExp('/clickrecord.php?'));
    regExArray.push(new RegExp('/clickscript.'));
    regExArray.push(new RegExp('/clickstats.'));
    regExArray.push(new RegExp('/clickstream.aspx?'));
    regExArray.push(new RegExp('/clickstream.js'));
    regExArray.push(new RegExp('/ClickTail.'));
    regExArray.push(new RegExp('/clicktale-'));
    regExArray.push(new RegExp('/clicktale.'));
    regExArray.push(new RegExp('/clicktale/*'));
    regExArray.push(new RegExp('/clicktale_'));
    regExArray.push(new RegExp('/ClickTaleFilter.'));
    regExArray.push(new RegExp('/clicktrack-*.gif?'));
    
    urlArray.push("https://assets.tumblr.com/images/black_100.png");
    urlArray.push("http://news.yahoo.com/");
    urlArray.push("http://www.huffingtonpost.com/");
    urlArray.push("http://www.cnn.com/");
    urlArray.push("http://news.google.com/");
    urlArray.push("http://www.nytimes.com/");
    urlArray.push("http://www.theguardian.com/");
    urlArray.push("http://www.nbcnews.com/");
    urlArray.push("http://www.dailymail.co.uk/");
    urlArray.push("http://www.washingtonpost.com/");
    urlArray.push("http://www.wsj.com/");
    urlArray.push("http://www.abcnews.go.com/");
    urlArray.push("http://news.bbc.co.uk/");
    urlArray.push("http://www.latimes.com/");
    urlArray.push("http://www.freep.com");
    urlArray.push("http://www.wikipedia.org");
    urlArray.push("http://thepiratebay.se/browse");
    urlArray.push("http://www.iheartchaos.com");
    urlArray.push("http://slashdot.org");
    urlArray.push("http://www.huffingtonpost.com/");
    urlArray.push("http://www.tmz.com/");
    urlArray.push("http://www.businessinsider.com/");
    urlArray.push("http://www.gawker.com/");
    urlArray.push("http://www.lifehacker.com/");
    urlArray.push("http://www.mashable.com/");
    urlArray.push("http://www.gizmodo.com/");
    urlArray.push("http://www.thedailybeast.com/");
    urlArray.push("http://www.perezhilton.com/");
    urlArray.push("http://www.techcrunch.com/");
    urlArray.push("http://www.cheezburger.com/");
    urlArray.push("http://www.jezebel.com/");
    urlArray.push("http://www.deadspin.com/");
    urlArray.push("http://www.engadget.com/");
    urlArray.push("http://www.kotaku.com/");
    urlArray.push("http://www.finance.yahoo.com/");
    urlArray.push("http://www.money.msn.com/");
    urlArray.push("http://www.google.com/finance");
    urlArray.push("http://www.bloomberg.com/");
    urlArray.push("http://www.cnbc.com/");
    urlArray.push("http://www.fool.com/");
    urlArray.push("http://www.marketwatch.com/");
    urlArray.push("http://www.businessweek.com/");
    urlArray.push("http://www.ibtimes.com/");
    urlArray.push("http://www.ft.com/");
    urlArray.push("http://www.seekingalpha.com/");
    urlArray.push("http://www.bing.com/search?q=hotel");
    urlArray.push("http://www.youporn.com/watch/295154");
    
     for (var jnx = 0; jnx < regExArray.length; jnx++) {
       var key = regExArray[jnx].source.match(/[\w&=]{5,}/);
       if (key) {
           keyArray.push(key);
       } else {
           keyArray.push("nomatch");
       }
    }

Test runner

Ready to run.

Testing in
TestOps/sec
simple loop
for (var inx = 0; inx < urlArray.length; inx++) {
    for (var jnx = 0; jnx < regExArray.length; jnx++) {
            regExArray[jnx].test(urlArray[inx]);
    }
}
ready
key match
for (var inx = 0; inx < urlArray.length; inx++) {
    for (var jnx = 0; jnx < keyArray.length; jnx++) {
           
          urlArray[inx].match(keyArray[jnx]);
    }
}
ready
key indexOf
for (var inx = 0; inx < urlArray.length; inx++) {
    for (var jnx = 0; jnx < keyArray.length; jnx++) {
           
           keyArray[jnx].indexOf(urlArray[inx]);
    }
}
ready
key ignore case indexOf
for (var inx = 0; inx < urlArray.length; inx++) {
    for (var jnx = 0; jnx < keyArray.length; jnx++) {
           
           keyArray[jnx].toLowerCase().indexOf(urlArray[inx].toLowerCase());
    }
}
ready

Revisions

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