regexp .test() vs indexOf

JavaScript performance comparison

Revision 130 of this test case created

Info

select correct chrome.tabs.query object based on browser

Preparation code

 
<script>
Benchmark.prototype.setup = function() {
    var browserSelect1 = function() {
        if (window.navigator.vendor.indexOf("Google") === 0) {
            return {"active": true, "currentWindow": true};
        }
        if (window.navigator.vendor.indexOf("Opera") === 0) {
            return {"active": true, "windowType": "normal"};
        }
    };
   
    var browserSelect2 = function() {
        if (/Google/i.test(window.navigator.vendor)) {
            return {"active": true, "currentWindow": true};
        }
        if (/Opera/i.test(window.navigator.vendor)) {
            return {"active": true, "windowType": "normal"};
        }
    };
   
    var browserSelect3 = function() {
        if (window.navigator.vendor.charAt(0) === "G") {
            return {"active": true, "currentWindow": true};
        }
        if (window.navigator.vendor.charAt(0) === "O") {
            return {"active": true, "windowType": "normal"};
        }
    };
   
    var browserSelect4 = function() {
        if (window.navigator.vendor[0] === "G") {
            return {"active": true, "currentWindow": true};
        }
        if (window.navigator.vendor[0] === "O") {
            return {"active": true, "windowType": "normal"};
        }
    };
};
</script>

Test runner

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

Java applet disabled.

Testing in unknown unknown
Test Ops/sec
indexOf
browserSelect1();
pending…
Regexp
browserSelect2();
pending…
.charAt(0)
browserSelect3();
pending…
vendor[0]
browserSelect4();
pending…

Compare results of other browsers

Revisions

You can edit these tests or add even more tests to this page by appending /edit to the URL. Here’s a list of current revisions for this page:

0 comments

Add a comment