Skip to content

Commit 011942c

Browse files
committed
Update benchmarks to use enableArrayMethods
1 parent 1106aea commit 011942c

File tree

2 files changed

+23
-5
lines changed

2 files changed

+23
-5
lines changed

perf-testing/immutability-benchmarks.mjs

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,8 @@ import {produce as produce9, setAutoFreeze as setAutoFreeze9} from "immer9"
99
import {produce as produce10, setAutoFreeze as setAutoFreeze10} from "immer10"
1010
import {
1111
produce as produce10Perf,
12-
setAutoFreeze as setAutoFreeze10Perf
13-
// Uncomment when using a build of Immer that exposes this function,
14-
// and enable the corresponding line in the setStrictIteration object below.
15-
// setUseStrictIteration as setUseStrictIteration10Perf
12+
setAutoFreeze as setAutoFreeze10Perf,
13+
enableArrayMethods as enableArrayMethods10Perf
1614
} from "immer10Perf"
1715
import {create as produceMutative} from "mutative"
1816
import {
@@ -239,6 +237,21 @@ const setStrictIteration = {
239237
limu: noop
240238
}
241239

240+
const setEnableArrayMethods = {
241+
vanilla: noop,
242+
immer5: noop,
243+
immer6: noop,
244+
immer7: noop,
245+
immer8: noop,
246+
immer9: noop,
247+
immer10: noop,
248+
immer10Perf: enableArrayMethods10Perf,
249+
mutative: noop,
250+
mutativeCompat: noop,
251+
structura: noop,
252+
limu: noop
253+
}
254+
242255
// RTKQ-style separate reducer functions (simulating separate RTK slices)
243256
const updateQueries = (queries, action) => {
244257
switch (action.type) {
@@ -601,6 +614,7 @@ function createBenchmarks() {
601614
function benchMethod() {
602615
setAutoFreezes[version](freeze)
603616
setStrictIteration[version](false)
617+
setEnableArrayMethods[version]()
604618
for (let i = 0; i < MAX; i++) {
605619
reducers[version](initialState, actions[action](i))
606620
}
@@ -635,6 +649,7 @@ function createBenchmarks() {
635649
function benchMethod() {
636650
setAutoFreezes[version](freeze)
637651
setStrictIteration[version](false)
652+
setEnableArrayMethods[version]()
638653

639654
let currentState = createInitialState()
640655

@@ -663,6 +678,7 @@ function createBenchmarks() {
663678
function benchMethod() {
664679
setAutoFreezes[version](freeze)
665680
setStrictIteration[version](false)
681+
setEnableArrayMethods[version]()
666682

667683
let state = createInitialState()
668684

@@ -692,6 +708,7 @@ function createBenchmarks() {
692708
function benchMethod() {
693709
setAutoFreezes[version](freeze)
694710
setStrictIteration[version](false)
711+
setEnableArrayMethods[version]()
695712

696713
let state = createInitialState()
697714
// Use smaller array size for RTKQ benchmark due to exponential scaling

perf-testing/immutability-profiling.mjs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
/* eslint-disable no-inner-declarations */
2-
import {produce, setAutoFreeze} from "../dist/immer.mjs"
2+
import {produce, setAutoFreeze, enableArrayMethods} from "../dist/immer.mjs"
33

4+
enableArrayMethods()
45
// ============================================================================
56
// CONFIGURATION
67
// ============================================================================

0 commit comments

Comments
 (0)