startsWith (v14)

Revision 14 of this benchmark created on


Setup

a = ["test"];
    for (var i = 0; i < 10000; i++) {
      a.push("some other stuff");
    }
    s = a.join();
    re1 = new RegExp("^test");
    re2 = new RegExp("^not there");

Test runner

Ready to run.

Testing in
TestOps/sec
indexOf
r1 = (s.indexOf("test") == 0);
r2 = (s.indexOf("not there") == 0);
ready
lastIndexOf
r1 = (s.lastIndexOf("test", 0) == 0);
r2 = (s.lastIndexOf("not there", 0) == 0);
ready
substring
r1 = (s.substring(0, "test".length) == "test");
r2 = (s.substring(0, "not there".length) == "not there");
ready
slice
r1 = (s.slice(0, "test".length) == "test");
r2 = (s.slice(0, "not there".length) == "not there");
ready
regex
r1 = (/^test/).test(s);
r2 = (/^not there/).test(s);
ready
compiled regex
r1 = re1.test(s);
r2 = re2.test(s);
ready
charAt
    function startsWithCharAt(string, pattern) {
      for (var i = 0, length = pattern.length; i < length; i += 1) {
        if (pattern.charAt(i) !== string.charAt(i)) return false;
      }
      return true;
    }

r1 = startsWithCharAt(s, "test");
r2 = startsWithCharAt(s, "not there");
ready
Firefox built-in
r1 = s.startsWith("test");
r2 = s.startsWith("not there");
ready

Revisions

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