Inline Function Calls

Benchmark created by Joe Turner on


Preparation HTML

<script>
  var UninlinedDSP = function() {
      this.buffer = new Float32Array(1024);
  };
  
  UninlinedDSP.prototype.generate = function() {
      var calculateSample = this.calculateSample;
  
      var buffer = this.buffer;
      var bufferLength = buffer.length;
      for (var i=0; i<bufferLength; i++) {
          buffer[i] = calculateSample(i);
      }
  };
  
  UninlinedDSP.prototype.calculateSample = function(i) {
      return Math.exp(i);
  };
  
  var InlinedDSP = function() {
      this.buffer = new Float32Array(1024);
  };
  
  InlinedDSP.prototype.generate = function() {
      var buffer = this.buffer;
      var bufferLength = buffer.length;
      for (var i=0; i<bufferLength; i++) {
          buffer[i] = Math.exp(i);
      }
  };
  
  var uninlinedDSP = new UninlinedDSP();
  
  var inlinedDSP = new InlinedDSP();
</script>

Test runner

Ready to run.

Testing in
TestOps/sec
Uninlined
uninlinedDSP.generate();
ready
Inlined
inlinedDSP.generate();
ready

Revisions

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

  • Revision 1: published by Joe Turner on