HTML Preparation code:
AخA
 
1
<script src="https://cdn.jsdelivr.net/npm/immer@9.0.13/dist/immer.umd.production.min.js"></script>
Script Preparation code:
x
 
const createList = () => 
  Array.from({ length: 100 }, (_, i) => ({ id: i, value: `Item ${i}` }));
const list = createList();
const nextItem = { id: "x", value: "I'm next" };
Tests:
  • immer

     
    const updatedList = immer.produce(list, (draft) => {
      draft.push(nextItem);
    });
  • spread

     
    const updatedList = [...list, nextItem];
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    immer
    spread

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: one month ago)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36
Chrome 133 on Mac OS X 10.15.7
View result in a separate tab
Test name Executions per second
immer 167956.1 Ops/sec
spread 14294164.0 Ops/sec