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:
  • array slice

    x
     
    const data = new Array(300).fill(55);
    let initArr = new Array(10000).fill(88);
    const limitArr = (arr, limit) => (arr.length > limit ? arr.slice(-limit) : arr);
    for(i=0; i<100; i++) {
      initArr.push(...data);
      initArr = limitArr(initArr, 1000);
    }
  • immutable-js

     
    const data = new Array(300).fill(55);
    let initList = Immutable.List();
    initList = initList.push(...(new Array(10000).fill(88)));
    const limitList = (list, limit) => (list.size > limit ? list.takeLast(limit) : list);
    for(i=0; i<100; i++) {
      initList = limitList(initList.push(...data), 1000);
    }
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    array slice
    immutable-js

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 2 years ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36
Chrome 103 on Windows
View result in a separate tab
Test name Executions per second
array slice 7354.7 Ops/sec
immutable-js 97.6 Ops/sec