Script Preparation code:
x
 
var keyCount = 16384
var keys = []
var map = new Map()
var weakmap = new WeakMap()
// 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 = {}
  keys.push(key)
  map.set(key,val)
  weakmap.set(key,val)
}
Tests:
  • Conspicuous Map lookup

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

     
    for (let i=0; i<keyCount; i++) {
      let seed = Math.random()
      let key = getConspicuousKey(seed)
      a = weakmap.get(key)
    }
  • Conspicuous Map lookup 2

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

     
    for (let i=0; i<keyCount; i++) {
      let seed = Math.random()
      let key = getConspicuousKey(seed)
      a = weakmap.get(key)
    }
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Conspicuous Map lookup
    Conspicuous WeakMap lookup
    Conspicuous Map lookup 2
    Conspicuous WeakMap lookup 2

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 10 months ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36
Chrome 124 on Windows
View result in a separate tab
Test name Executions per second
Conspicuous Map lookup 44.2 Ops/sec
Conspicuous WeakMap lookup 46.0 Ops/sec
Conspicuous Map lookup 2 44.6 Ops/sec
Conspicuous WeakMap lookup 2 46.4 Ops/sec