For-while comparison URL parsing

Benchmark created by aravind on


Setup

var url = "http://abc.com?a=123&b=324df&asd=fdsa&sa=234";

Test runner

Ready to run.

Testing in
TestOps/sec
For
var paramStr = url.substring(url.indexOf("?") + 1, url.length);
var params = paramStr.split("&");
var numParams = params.length;
var urlParams = {};
for (var i = 0; i < numParams; i++) {
  var pairs = params[i].split("=")
  urlParams[pairs[0]] = pairs[1];
}
ready
While
var urlparam = {};
var paramStr = url.substring(url.indexOf("?") + 1, url.length);
if (paramStr.indexOf("&") > 0) {
  while (paramStr.indexOf("&") > 0) {
    var name = paramStr.substring(0, paramStr.indexOf("="));
    var value = paramStr.substring(paramStr.indexOf("=") + 1, paramStr.indexOf("&"));
    paramStr = paramStr.substring(paramStr.indexOf("&") + 1, paramStr.length);
urlparam[name] = value;
  }
}
name = paramStr.substring(0, paramStr.indexOf("="));
value = paramStr.substring(paramStr.indexOf("=") + 1, paramStr.length);
urlparam[name] = value;
ready

Revisions

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

  • Revision 1: published by aravind on