@@ -10,9 +10,9 @@ export default Route.extend({
10
10
const initialPayload = await fetch ( './fixtures/add-children-initial.json' ) . then ( ( r ) => r . json ( ) ) ;
11
11
const initialPayload2 = structuredClone ( initialPayload ) ;
12
12
13
- const minusOnePayload = structuredClone ( initialPayload ) ;
14
- minusOnePayload . data . relationships . children . data . pop ( ) ;
15
- minusOnePayload . included . pop ( ) ;
13
+ const payloadWithRemoval = structuredClone ( initialPayload ) ;
14
+ payloadWithRemoval . data . relationships . children . data . splice ( 0 , 19000 ) ;
15
+ payloadWithRemoval . included . splice ( 0 , 19000 ) ;
16
16
17
17
performance . mark ( 'start-push-initial-payload' ) ;
18
18
this . store . push ( initialPayload ) ;
@@ -31,22 +31,41 @@ export default Route.extend({
31
31
const parent = peekedParents [ 0 ] ;
32
32
const children = await parent . children ;
33
33
34
+ await logChildren ( parent ) ;
35
+
34
36
performance . mark ( 'start-local-removal' ) ;
35
- const removedChild = children . pop ( ) ;
37
+ console . group ( 'start-local-removal' ) ;
38
+ const removedChildren = children . splice ( 0 , 19000 ) ;
39
+ await logChildren ( parent ) ;
40
+ console . groupEnd ( ) ;
36
41
37
42
performance . mark ( 'start-push-minus-one-payload' ) ;
38
- this . store . push ( minusOnePayload ) ;
43
+ console . group ( 'start-push-minus-one-payload' ) ;
44
+ this . store . push ( payloadWithRemoval ) ;
45
+ await logChildren ( parent ) ;
46
+ console . groupEnd ( ) ;
39
47
40
48
performance . mark ( 'start-local-addition' ) ;
41
- children . push ( removedChild ) ;
49
+ console . group ( 'start-local-addition' ) ;
50
+ parent . children = children . concat ( removedChildren ) ;
51
+ await logChildren ( parent ) ;
52
+ console . groupEnd ( ) ;
42
53
43
54
performance . mark ( 'start-push-plus-one-payload' ) ;
55
+ console . group ( 'start-push-plus-one-payload' ) ;
44
56
this . store . push ( initialPayload2 ) ;
57
+ await logChildren ( parent ) ;
58
+ console . groupEnd ( ) ;
45
59
46
60
performance . mark ( 'end-push-plus-one-payload' ) ;
47
61
} ,
48
62
} ) ;
49
63
64
+ async function logChildren ( parent ) {
65
+ const children = await parent . children ;
66
+ console . log ( children . map ( ( child ) => child . id ) ) ;
67
+ }
68
+
50
69
function iterateChild ( record , seen ) {
51
70
if ( seen . has ( record ) ) {
52
71
return ;
0 commit comments