Script Preparation code:
x
 
var keyCount = 16384
var keys = []
var map = new Map()
var obj = {}
// Hide lookup keys to prevent V8 cheating (AKA Optimizing)
var getConspicuousKey = seed => keys[Math.floor(seed * keyCount)]
// Setup out test objects w/ random values
for (let i=0; i<keyCount; i++) {
  let val = Math.random()
  let key = Math.random()
  keys.push(key)
  map.set(key,val)
  obj[key] = val
}
Tests:
  • Conspicuous Map lookup & delete

     
    for (let i=0; i<keyCount; i++) {
      let seed = Math.random()
      let key = getConspicuousKey(seed)
      a = map.get(key)
      if (a) map.delete(key)
    }
  • Conspicuous Obj lookup & delete

     
    for (let i=0; i<keyCount; i++) {
      let seed = Math.random()
      let key = getConspicuousKey(seed)
      a = obj[key]
      if (a) delete obj[key]
    }
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Conspicuous Map lookup & delete
    Conspicuous Obj lookup & delete

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: one month ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0
Firefox 135 on Windows
View result in a separate tab
Test name Executions per second
Conspicuous Map lookup & delete 2438.3 Ops/sec
Conspicuous Obj lookup & delete 130.9 Ops/sec