Caching when 1 index-Array

Benchmark created on


Preparation HTML

<script>
  var a = Array(1008);
  
  a[1001] = function(b, c) {
   for (var l = 1000; l > 0; l--) {
    this[l] = (this[1000 - l] ? this[1000 - l] : 0) + Math.random() > 0.5 ? b : c;
   }
  };
  
  a[1002] = function(b, c) {
   for (var l = 1000; l > 0; l--) {
    a[l] = (a[1000 - l] ? a[1000 - l] : 0) + Math.random() > 0.5 ? b : c;
   }
  };
  
  a[1003] = function(b, c) {
   for (var l = 1000, t = a; l > 0; l--) {
    t[l] = (t[1000 - l] ? t[1000 - l] : 0) + Math.random() > 0.5 ? b : c;
   }
  };
  
  a[1004] = function(b, c) {
   var t = a;
   for (var l = 1000; l > 0; l--) {
    t[l] = (t[1000 - l] ? t[1000 - l] : 0) + Math.random() > 0.5 ? b : c;
   }
  };
  
  a[1005] = function(b, c) {
   var x = 252,
       y = 25214,
       z = 234,
       v = 324234,
       s = 234234,
       u = 243234;
   for (var l = 1000; l > 0; l--) {
    a[l] = (a[1000 - l] ? a[1000 - l] : 0) + Math.random() > 0.5 ? b : c;
   }
  };
  
  a[1006] = function(b, c) {
   var x = 252,
       y = 25214,
       z = 234,
       v = 324234,
       s = 234234,
       u = 243234;
   for (var l = 1000; l > 0; l--) {
    this[l] = (this[1000 - l] ? this[1000 - l] : 0) + Math.random() > 0.5 ? b : c;
   }
  };
</script>

Test runner

Ready to run.

Testing in
TestOps/sec
Using this
a[1001](23423, 57567);
ready
using normal name
a[1002](23423, 57567);
ready
chaceing with t (best case)
a[1003](23423, 57567);
ready
chaceing with t (more realistic case)
a[1004](23423, 57567);
ready
Using this (many vars)
a[1005](23423, 57567);
ready
using normal name (many vars)
a[1006](23423, 57567);
ready

Revisions

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