-
Notifications
You must be signed in to change notification settings - Fork 0
/
notes_draw_fav_dom_perf.txt
317 lines (281 loc) · 11 KB
/
notes_draw_fav_dom_perf.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
!!! Chk commit history for purpose of this file !!!
NO LS/VIRGIN UA, C109 Win32, note all DOM CE() and prop sets fast!!!
fav ld 8.379999995231628
(index):1 WI ld 0.019999980926513672
(index):1 BR ld 0.004999995231628418
(index):1 DT ld 0
(index):1 BD AC0.04999995231628418
VM456:3 emj md Lbl 0.05000007152557373
VM456:3 emj md In 0.07999992370605469
VM456:3 emj set In tp 0.040000081062316895
VM456:3 emj crt 1st lbl n chk 0.1700000762939453
VM456:3 emj chkbx CN() alone 0.02499997615814209
VM456:3 emj crt chkbxs 0.1950000524520874
VM456:3 emj I or T crt 0.21500003337860107
VM456:3 emj asn g 0.019999980926513672
VM456:3 emj whole ld 0.43000006675720215
VM456:3 emj lbl CE() 0.04499995708465576
VM456:3 emj lbl CN() shallow 0.009999990463256836
LS eval()/old user, C109 Win32, massive penalty for 1st ever doc.cE(), but none after
VM33:1 emj md Lbl 0.14499998092651367
VM33:1 emj md In 0.05000007152557373
VM33:1 emj set In tp 0.09499990940093994
VM33:1 emj crt 1st lbl n chk 0.28999996185302734
VM33:1 emj chkbx CN() alone 0.020000100135803223
VM33:1 emj crt chkbxs 0.31000006198883057
VM33:1 emj I or T crt 1.1049998998641968
VM33:1 emj asn g 0.020000100135803223
VM33:1 emj whole ld 1.4350000619888306
VM33:1 emj lbl CE() 0.014999985694885254
VM33:1 emj lbl CN() shallow 0
(index):1 fav ld 4.414999961853027
(index):1 WI ld 0.1549999713897705
(index):1 BR ld 0.009999990463256836
(index):1 DT ld 0.19000005722045898
(index):1 BD AC0.09000003337860107
B4 opt
FF 115 Win32, FORCED Img Emoji for tested
emj md Lbl 0.3291482334067837 line 52 > eval:1:2640
emj md In 0.15080824177314867 line 52 > eval:1:2673
emj set In tp 0.010273040992714755 line 52 > eval:1:2705
emj crt 1st lbl n chk 0.4902295161726471 line 52 > eval:1:2741
emj chkbx CN() alone 0.011094884272139893 line 52 > eval:1:2785
emj crt chkbxs 0.501324400444787 line 52 > eval:1:2828
emj I CE 0.11423621583907106 line 52 > eval:1:2865
emj I src 0.5226923257096274 line 52 > eval:1:2896
emj I Sty 1 1.4357602091426855 line 52 > eval:1:2928
emj I Sty 2 0.007396589514755192 line 52 > eval:1:2962
emj I CN 0.11135976436109729 line 52 > eval:1:2996
emj I src 2 0.43187864333397386 line 52 > eval:1:3027
emj I or T crt 2.9952078318377175 line 52 > eval:1:3061
emj asn g 0.04479045872825793 line 52 > eval:1:3098
emj whole ld 3.5413226910107625 line 52 > eval:1:3130
emj lbl CE() 0.01232764919126339 line 52 > eval:1:3273
emj lbl CN() shallow 0.004931059676508198 line 52 > eval:1:3308
fav ld 9.10807814414639 localhost:53:9
WI ld 0.11793451059645577 localhost:129:15
BR ld 0.00452013803680984 localhost:130:15
DT ld 0.15245192833197052 localhost:131:15
BD AC0.3813352816497968
C109 Win32, nat bc OS Img Emoji
VM65:1 emj md Lbl 0.23000001907348633
VM65:1 emj md In 0.07499992847442627
VM65:1 emj set In tp 0.125
VM65:1 emj crt 1st lbl n chk 0.4299999475479126
VM65:1 emj chkbx CN() alone 0.019999980926513672
VM65:1 emj crt chkbxs 0.44999992847442627
VM65:1 emj I CE 0.04500007629394531
VM65:1 emj I src 0.5149999856948853
VM65:1 emj I Sty 1 0.09500002861022949
VM65:1 emj I Sty 2 0.019999980926513672
VM65:1 emj I CN 0.21999990940093994
VM65:1 emj I src 2 0.36500000953674316
VM65:1 emj I or T crt 1.7549999952316284
VM65:1 emj asn g 0.03000009059906006
VM65:1 emj whole ld 2.2350000143051147
VM65:1 emj lbl CE() 0.009999990463256836
VM65:1 emj lbl CN() shallow 0.004999995231628418
(index):1 fav ld 9.679999947547913
(index):1 WI ld 0.1400001049041748
(index):1 BR ld 0
(index):1 DT ld 0.12999999523162842
(index):1 BD AC0.07499992847442627
Thoughts:
-Note MAYBE for FF .width = .height = str UNOPTIMZED and causes a CSS layout/slowness on .height GETTER()
-FF CE() and CN() of <IMG> no time diff
-C109 CN() VERY HEAVY DIFF vs CE()
-.src = heavy in BOTH
Fix attempts:
-dont CN() a <IMG> with .src ALREADY SET
+assume browser skips cloning/refcounting HTTP Cache/IO/render bitmap img canvas
-SUCCESS FF, HUGE SUCCESS C109
-don't GET()/chain style.width = style.height
+b/c CSS Layout/paint (hypo) runs to "read" style prop after "set" style prop
-FAIL no chg to SLOW FF, no chg fast Chrome
-don't set .src a SECOND time
+browser (hypo) doesn't need to free resources from ORIG FIRST .src URL
-HUGE SUCCESS FF, medium/SOME SUCCESS C109
!!!!NEW FF 115
emj md Lbl 0.21737754740597381 line 1 > eval:1:2668
emj md In 0.08136248466234974 line 1 > eval:1:2701
emj set In tp 0.00821843279418033 line 1 > eval:1:2733
emj crt 1st lbl n chk 0.3069584648625039 line 1 > eval:1:2769
emj chkbx CN() alone 0.009040276073591258 line 1 > eval:1:2813
emj crt chkbxs 0.31599874093609515 line 1 > eval:1:2856
emj I CE 0.09122460401535193 line 1 > eval:1:2893
emj I Sty 1 1.3420700752890724 line 1 > eval:1:2924
emj I Sty 2 0.006985667875042623 line 1 > eval:1:2958
emj I CN 0.009862119353016396 line 1 > eval:1:2992
emj I src 0.1051959397654656 line 1 > eval:1:3023
emj I CN 2 0.004520138036795629 line 1 > eval:1:3055
emj I src 2 0.04848875348564263 line 1 > eval:1:3088
emj I or T crt 1.6506722267103981 line 1 > eval:1:3122
emj asn g 0.030408201338460117 line 1 > eval:1:3159
emj whole ld 1.9970791689849534 line 1 > eval:1:3191
emj lbl CE() 0.01684778722805902 line 1 > eval:1:3334
emj lbl CN() shallow 0.006574746235330053 line 1 > eval:1:3369
fav ld 9.696928853849144 tinymta.com:1:1316
WI ld 0.09821027189039455 tinymta.com:1:2197
BR ld 0.013971335750085245 tinymta.com:1:2241
DT ld 0.07848603318439018 tinymta.com:1:2269
BD AC0.3862663413262908
new C109
VM517:1 emj md Lbl 0.13499999046325684
VM517:1 emj md In 0.04999995231628418
VM517:1 emj set In tp 0.09000003337860107
VM517:1 emj crt 1st lbl n chk 0.2749999761581421
VM517:1 emj chkbx CN() alone 0.014999985694885254
VM517:1 emj crt chkbxs 0.28999996185302734
VM517:1 emj I CE 0.029999971389770508
VM517:1 emj I Sty 1 0.05500006675720215
VM517:1 emj I Sty 2 0.034999966621398926
VM517:1 emj I CN 0.019999980926513672
VM517:1 emj I src 0.38999998569488525
VM517:1 emj I CN 2 0.010000109672546387
VM517:1 emj I src 2 0.2549999952316284
VM517:1 emj I or T crt 1.0299999713897705
VM517:1 emj asn g 0.020000100135803223
VM517:1 emj whole ld 1.340000033378601
VM517:1 emj lbl CE() 0.009999990463256836
VM517:1 emj lbl CN() shallow 0.004999995231628418
(index):1 fav ld 13.510000109672546
(index):1 WI ld 0.09500002861022949
(index):1 BR ld 0
(index):1 DT ld 0.10000002384185791
(index):1 BD AC0.060000061988830566
OPTIMIZATON:
-setAttribute('style',"") vs .style
RESULT:
-MASSIVE SUCCESS on FF 115
-FF STOPS doing sync CSS parsing/layout, 1-3 milliseconds saved!!
-some/limited SUCCESS on C109
-js method lookup overhead/thunking to .style C++ obj.class
and overhead in .style CSS JS class in C++ R/W to C++ DOM class
b4 FF 115
emj md Lbl 0.36489841606143614 line 1 > eval:1:2668
emj md In 0.12450925683177161 line 1 > eval:1:2701
emj set In tp 0.011916727551579243 line 1 > eval:1:2733
emj crt 1st lbl n chk 0.501324400444787 line 1 > eval:1:2769
emj chkbx CN() alone 0.014382257389797815 line 1 > eval:1:2813
emj crt chkbxs 0.5157066578345848 line 1 > eval:1:2856
emj I CE 0.2005297601779148 line 1 > eval:1:2893
emj I Sty 1 2.562918266864017 line 1 > eval:1:2924
emj I Sty 2 0.013971335750113667 line 1 > eval:1:2958
emj I CN 0.013971335750085245 line 1 > eval:1:2992
emj I src 0.7630814849393062 line 1 > eval:1:3023
emj I CN 2 0.013149492470688529 line 1 > eval:1:3055
emj I src 2 0.5465257808127433 line 1 > eval:1:3088
emj I or T crt 4.561230200768108 line 1 > eval:1:3122
emj asn g 0.04972151840476613 line 1 > eval:1:3159
emj whole ld 5.126658377007459 line 1 > eval:1:3191
emj lbl CE() 0.018080552147154094 line 1 > eval:1:3334
emj lbl CN() shallow 0.007807511154481972 line 1 > eval:1:3369
fav ld 13.774915206319633 tinymta.com:1:1316
WI ld 0.09040276073591258 tinymta.com:1:2197
BR ld 0.0024655298382754154 tinymta.com:1:2241
DT ld 0.07437681678726449 tinymta.com:1:2269
BD AC0.3459960206348569
C109
VM537:1 emj md Lbl 0.36500000953674316
VM537:1 emj md In 0.06999993324279785
VM537:1 emj set In tp 0.1400001049041748
VM537:1 emj crt 1st lbl n chk 0.5750000476837158
VM537:1 emj chkbx CN() alone 0.019999980926513672
VM537:1 emj crt chkbxs 0.5950000286102295
VM537:1 emj I CE 0.04999995231628418
VM537:1 emj I Sty 1 0.10000002384185791
VM537:1 emj I Sty 2 0.009999990463256836
VM537:1 emj I CN 0.02499997615814209
VM537:1 emj I src 0.05500006675720215
VM537:1 emj I CN 2 0.004999995231628418
VM537:1 emj I src 2 0.039999961853027344
VM537:1 emj I or T crt 0.309999942779541
VM537:1 emj asn g 0.014999985694885254
VM537:1 emj whole ld 0.9199999570846558
VM537:1 emj lbl CE() 0.014999985694885254
VM537:1 emj lbl CN() shallow 0
(index):1 fav ld 6.565000057220459
(index):1 WI ld 0.034999966621398926
(index):1 BR ld 0.004999995231628418
(index):1 DT ld 0.20000004768371582
(index):1 BD AC0.04999995231628418
after
FF115
emj md Lbl 0.31353321109784815 line 1 > eval:1:2652
emj md In 0.1417679656995432 line 1 > eval:1:2685
emj set In tp 0.009451197713303827 line 1 > eval:1:2717
emj crt 1st lbl n chk 0.4647523745106952 line 1 > eval:1:2753
emj chkbx CN() alone 0.011094884272139893 line 1 > eval:1:2797
emj crt chkbxs 0.47584725878283507 line 1 > eval:1:2840
emj I CE 0.09410105549331149 line 1 > eval:1:2877
emj I Sty 1 0.027531749860500554 line 1 > eval:1:2908
emj I CN 0.005341981316206557 line 1 > eval:1:2942
emj I src 0.10848331288315194 line 1 > eval:1:2973
emj I CN 2 0.004520138036795629 line 1 > eval:1:3005
emj I src 2 0.04889967512534099 line 1 > eval:1:3038
emj I or T crt 0.3312028416053181 line 1 > eval:1:3072
emj asn g 0.030408201338445906 line 1 > eval:1:3109
emj whole ld 0.8374583017265991 line 1 > eval:1:3141
emj lbl CE() 0.012738570830961748 line 1 > eval:1:3284
emj lbl CN() shallow 0.004931059676522409 line 1 > eval:1:3319
fav ld 7.587668077223682 tinymta.com:1:1316
WI ld 0.056296264640110394 tinymta.com:1:2197
BR ld 0.001643686558850277 tinymta.com:1:2241
DT ld 0.0649256190740175 tinymta.com:1:2269
BD AC0.38215712492922194
C109
emj md Lbl 0.1400001049041748
VM566:1 emj md In 0.04499995708465576
VM566:1 emj set In tp 0.10000002384185791
VM566:1 emj crt 1st lbl n chk 0.2850000858306885
VM566:1 emj chkbx CN() alone 0.014999985694885254
VM566:1 emj crt chkbxs 0.30000007152557373
VM566:1 emj I CE 0.019999980926513672
VM566:1 emj I Sty 1 0.034999966621398926
VM566:1 emj I CN 0
VM566:1 emj I src 0.375
VM566:1 emj I CN 2 0.009999990463256836
VM566:1 emj I src 2 0.2250000238418579
VM566:1 emj I or T crt 0.8799999952316284
VM566:1 emj asn g 0.014999985694885254
VM566:1 emj whole ld 1.1950000524520874
VM566:1 emj lbl CE() 0.010000109672546387
VM566:1 emj lbl CN() shallow 0.004999995231628418
(index):1 fav ld 6.069999933242798
(index):1 WI ld 0.09500002861022949
(index):1 BR ld 0
(index):1 DT ld 0.11500000953674316
(index):1 BD AC0.06500005722045898
start of fetch (mousedown) to getJSON()/render resp, SPA wins
old code, with navigate but in cache
s1713332558909
rstop.htm:1 f1713332559032
123
s1713332578525
rstop.htm:1 f1713332578671
146
s1713332594781
rstop.htm:1 f1713332594904
123
s1713332606316
rstop.htm:1 f1713332606441
125
new SPA
s1713338868966
VM68:1 f1713338869008
42
s1713338887664
VM68:1 f1713338887729
65
s1713338896447
VM68:1 f1713338896505
59
s1713338907071
VM68:1 f1713338907120
49
s1713339241461
VM68:1 f1713339241568
107
s1713339384036
VM59:1 f1713339384105
69