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})
    }
  • object mutate

     
    let obj = {};
    for(i=0;i<100;i++){
      const key = 'key'+i
      const value = 'value'+i
      obj[key] = value;
    }
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    object spread
    immutable-js
    object mutate

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 5 years ago)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36
Chrome 81 on Mac OS X 10.15.4
View result in a separate tab
Test name Executions per second
object spread 4249.9 Ops/sec
immutable-js 37954.5 Ops/sec
object mutate 66914.9 Ops/sec