startswith

JavaScript performance comparison

Revision 22 of this test case created by

Preparation code


      
      <script>
Benchmark.prototype.setup = function() {
  var s1 = "okodjdkdjdsllsdkddkdkdkkdkdloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremlorem";
  var s2 = "odjdkdjdsllsdkddkdkdkkdkdloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremok";
  var s3 = "odjdkdjdsllsdkddkdkdkkdkdloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremloremlorem";
  
  function startsWith(s,starter) {
    for (var i = 0,cur_c; i < starter.length; i++) {
      cur_c = starter[i];
      if (s[i] !== starter[i]) {
        return false;
      }
    }
    return true;
  }
  function subStartsWith(s,starter) {
    return s.substr(0,starter.length) === starter;
  }
  
  function sliceStartsWith(str, starts){
        if (starts === '') return true;
        if (str == null || starts == null) return false;
        str = String(str); starts = String(starts);
        return str.length >= starts.length && str.slice(0, starts.length) === starts;
      }

};
</script>

Test runner

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

Java applet disabled.

Testing in CCBot 2.0.0 / Other 0.0.0
Test Ops/sec
indexOf
var a = (s1.indexOf('ok')) === 0;
var b = (s2.indexOf('ok')) === 0;
var c = (s3.indexOf('ok')) === 0;
pending…
custom
var a = (startsWith(s1,'ok'));
var b = (startsWith(s2,'ok'))
var c = (startsWith(s3,'ok'));
pending…
substr
var a = (subStartsWith(s1,'ok'));
var b = (subStartsWith(s2,'ok'))
var c = (subStartsWith(s3,'ok'));
pending…
lastIndexOf
var a = (s1.lastIndexOf('ok'), 0) === 0;
var b = (s2.lastIndexOf('ok'), 0) === 0;
var c = (s3.lastIndexOf('ok'), 0) === 0;
pending…
slice
var a = (sliceStartsWith(s1,'ok'));
var b = (sliceStartsWith(s2,'ok'))
var c = (sliceStartsWith(s3,'ok'));
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.

0 Comments