with-vs-fn

Benchmark created on


Preparation HTML

<script>
  locals = {
   name: "Matt",
   email: "wahoo@wahoo.com",
   phone: "(555) 555-5555"
  };
  
  
  keys = [];
  values = [];
  
  for (key in locals) {
   local = locals[key];
  
   keys.push(key);
   values.push(local);
  
  }
  
  keys = keys.join(',');
  
  function withwith() {
  
   with(locals) {
  
    var t = name + email + phone,
        y = phone + email + name,
        h = phone + name;
  
   }
  
  }
  
  fn = new Function(keys, "\
   var t = name + email + phone,\
       y = phone + email + name,\
       h = phone + name;\
  ");
</script>

Test runner

Ready to run.

Testing in
TestOps/sec
with
withwith();
ready
fn
fn.apply(this, values);
ready

Revisions

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