ES6 Map vs Object properties (v223)

Revision 223 of this benchmark created by Michael Hall on


Setup

function randomString()
  {
      var text = "";
      var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
  
      for( var i=0; i < 5; i++ )
          text += possible.charAt(Math.floor(Math.random() * possible.length));
  
      return text;
  }
  
  var preComputedRandomKeys = [];
  var preComputedRandomVals = [];
  
  for (var i=0; i < 10000; i++) {
     preComputedRandomKeys[i] = randomString();
     preComputedRandomVals[i] = randomString();
  }
  
  var item_activityProperties = {};
  for (var i=0; i < 10000; i++) {
     item_activityProperties[preComputedRandomKeys[i]] = preComputedRandomVals[i];
  }
  
  console.log(item_activityProperties)

Test runner

Ready to run.

Testing in
TestOps/sec
declarativeModelFieldsObjectFromMap
let declarativeModelFieldsMap = new Map();
for (const [key, field] of Object.entries(item_activityProperties)) {
	declarativeModelFieldsMap.set(key, field.value);
}
let declarativeModelFieldsObjectFromMap = Object.fromEntries(declarativeModelFieldsMap.entries());
ready
declarativeModelFieldsObject
let declarativeModelFieldsObject = {};
for (const [key, field] of Object.entries(item_activityProperties)) {
	declarativeModelFieldsObject[key] = field.value;
}
let declarativeModelFieldsObjectFromObject = declarativeModelFieldsObject;
ready

Revisions

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