RegExp: exec, match, test, search and indexOf (v26)

Revision 26 of this benchmark created on


Description

Longer StringsTests to determine which function is faster for detecting whether a string matches a regex pattern.

Setup

var abcRegex = /abc/;
    String.prototype.test = function(re){ return re.test(this); };
    String.prototype.test2 = function(re){ return this.search(re)>=0; };
    
    function getString() {
        return "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxabcxxxxxxabcxx";
    }

Test runner

Ready to run.

Testing in
TestOps/sec
match array
if ("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxabcxxxxxxabcxx".match("abc|bcx") !==null ) {
 // String matches regex
}
ready
match boolean
if (!!"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxabcxxxxxxabcxx".match("abc|bcx") ) {
 // String matches regex
}
ready
indexOf or indexOf
if ("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxabcxxxxxxabcxx".indexOf("abc") != -1 || "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxabcxxxxxxabcxx".indexOf("bcx") != -1 ) {
}
ready
double string compare
if (getString() == "111xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxabcxxxxxxabcxx" || getString() == "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxabcxxxxxxabcxx" ) {
}
ready

Revisions

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