Uint8Array vs DataView vs JSON.stringify (v5)

Revision 5 of this benchmark created on


Preparation HTML

<script>
  var len = 1024;
  var a = new ArrayBuffer(len);
  var dv = new DataView(a);
  var u8 = new Uint8Array(a);
  var obj = {};
  var ii;
  for (ii = 0; ii < len; ++ii) {
     obj[ii] = "a";
  }
</script>

Test runner

Ready to run.

Testing in
TestOps/sec
DataView write
for (ii = 0; ii < len; ++ii) {
  dv.setUint8(ii, ii & 0xff);
}
ready
Uint8 write
for (ii = 0; ii < len; ++ii) {
  u8[ii] = ii & 0xff;
}
ready
DataView read
var sum=0;
for (ii = 0; ii < len; ++ii) {
  sum += dv.getUint8(ii);
}
ready
Uint8 read
var sum=0;
for (ii = 0; ii < len; ++ii) {
  sum += u8[ii];
}
ready
JSON stringify
JSON.stringify(obj);
ready

Revisions

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