Commit 2ddf0c6
[ddc] Use prototype trick for better chrome performance
After emitting a library, creates a dummy function for each library and
sets the library object as the `.prototype` of the dummy function.
Reverses the performance degradation seen after adding one too many
members to the `dart:_runtime` library in:
https://golem.corp.goog/PerformanceChanges?repository=dart&revision=116131
According to sra@ this serves as a signal to V8 that the members of the
library should get optimized for fast lookup. These golem runs show
performance improvements that support this.
dartdevc performance improvements:
https://golem.corp.goog/Comparison?repository=dart#targetA%3Ddartdevc%3BmachineTypeA%3Dlinux-x64%3BrevisionA%3D116273%3BpatchA%3Dnshahan--ddc--WIP-library-as-prototype-optimization-1%3BtargetB%3Ddartdevc%3BmachineTypeB%3Dlinux-x64%3BrevisionB%3D116238%3BpatchB%3DNone
dartdevc-canary performance improvements:
https://golem.corp.goog/Comparison?repository=dart#targetA%3Ddartdevc-canary%3BmachineTypeA%3Dlinux-x64%3BrevisionA%3D116273%3BpatchA%3Dnshahan--ddc--WIP-library-as-prototype-optimization-1%3BtargetB%3Ddartdevc-canary%3BmachineTypeB%3Dlinux-x64%3BrevisionB%3D116238%3BpatchB%3DNone
Change-Id: Ifee464e393609c30eff4ea7c19da511134eccdcf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/427822
Reviewed-by: Nate Biggs <[email protected]>
Commit-Queue: Nicholas Shahan <[email protected]>1 parent c1f11fe commit 2ddf0c6
File tree
2 files changed
+12
-0
lines changed- pkg/dev_compiler/lib/src/kernel
2 files changed
+12
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
927 | 927 | | |
928 | 928 | | |
929 | 929 | | |
| 930 | + | |
| 931 | + | |
| 932 | + | |
| 933 | + | |
| 934 | + | |
| 935 | + | |
930 | 936 | | |
931 | 937 | | |
932 | 938 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1163 | 1163 | | |
1164 | 1164 | | |
1165 | 1165 | | |
| 1166 | + | |
| 1167 | + | |
| 1168 | + | |
| 1169 | + | |
| 1170 | + | |
| 1171 | + | |
1166 | 1172 | | |
1167 | 1173 | | |
1168 | 1174 | | |
| |||
0 commit comments