HTML Preparation code:
AخA
 
1
<script src="https://cdnjs.cloudflare.com/ajax/libs/immutable/3.8.2/immutable.min.js"></script>
2
<script src="https://cdn.jsdelivr.net/npm/immutability-helper@2.7.0/index.min.js"></script>
Tests:
  • object spread

    x
     
    let obj = {};
    for(i=0;i<100;i++){
      const key = 'key'+i
      const value = 'value'+i
      obj = {...obj, [key]: {key, value}}
    }
  • immutable-js

     
    let obj = Immutable.Map();
    for(i=0;i<100;i++){
      const key = 'key'+i
      const value = 'value'+i
      obj = obj.set(key, {key, value})
    }
  • es6

     
    let obj = new Map();
    for(i=0;i<100;i++){
      const key = 'key'+i
      const value = 'value'+i
      obj = obj.set(key, {key, value})
    }
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    object spread
    immutable-js
    es6

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: one year ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36
Chrome 114 on Windows
View result in a separate tab
Test name Executions per second
object spread 4518.0 Ops/sec
immutable-js 46373.5 Ops/sec
es6 126672.9 Ops/sec