Performance_Stats = function (max_records, converter, noise_threshold, below_threshold, above_threshold) {
  // preallocate an array buffer that can record for n entries
  // stats are recorded as 32-bit floating point numbers
  const bytes_per_stat = 4;
  this._max_records = max_records;
  this._buffer = new ArrayBuffer(this._max_records * bytes_per_stat);
  this._buffer_interface = new Float32Array(this._buffer);
  this.set_converter(converter);
  this.set_noise_threshold(noise_threshold);
  this.set_below_threshold(below_threshold);
  this.set_above_threshold(above_threshold);
}
Performance stats object.
@param {Number} max_records max number of recorded stat values.
@param {Function} [converter=null] method used to convert recorded values into output values.
@param {Number} [noise_threshold=0] difference between average and entry to consider it noisy
@param {Number} [below_threshold=0] threshold which entries are considered below
@param {Number} [above_threshold=0] threshold which entries are considered above