-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dart2js adds 144k over frog #3242
Comments
We are working on bringing the code size down. This sounds like what we see on other programs. If you can give us a copy of ZartWeb.dart, we can use it as a benchmark. Otherwise, I don't think that this bug makes sense to keep open. We know the output is too big, but it is virtually impossible to know when to close this bug without the sources. Added Area-Dart2JS, NeedsInfo labels. |
This comment was originally written by prujohn...@gmail.com Kasper suggested I open this. If the code size is expected to be larger at this point, then I see no reason to keep it open either. :) |
This is definitely not solved yet, but we've made some progress. We've added liveness analysis (r8145) to get rid of some of many temporary variables that we used to keep around (like char0): var char$ = this._char$0(); and we've removed the empty else clauses (r8149) to simplify code like this: if ($.get$length(this._buffer) === 0) { More to come. Maybe you can upload a new version of the dart2js version with these fixes and let us know if the changes help at all, John? |
This comment was originally written by pru...@gmail.com Thanks for the update Kasper. I'll keep checking it and post back the source when I see something improve. As of build 8192, I'm getting the same results (1.3mb). :) |
I'm very interesting in figuring out if our work on making (simple) switches compile to nicer code has helped here. I haven't found a place to grab hold of ZartWeb.dart yet, so even though I've grabbed a copy of the zart source base I still cannot really re-measure this myself. |
This comment was originally written by prujo...@gmail.com Yes I haven't posted ZartWeb publicly. It has multiple dependencies and that's a bit tricky until PUB comes fully online. :) There is definitely some positive progress. The JS file is down to 1.12mb (attached). Attachment: |
So I guess I can update the summary to 'dart2js adds 144k over frog'? :-) |
This comment was originally written by prujohn...@gmail.com Fine by me! |
Changed the title to: "dart2js adds 144k over frog". |
This comment was originally written by prujoh...@gmail.com Big jump recently to 2.5mb. I see a lot of extra code re: noSuchMethod() |
Fix for the recent jump on the way: https://chromiumcodereview.appspot.com/10843022/. |
This comment was originally written by prujo...@gmail.com Back down to 1.27mb :) |
We'll continue to push on code size (in particular once we've implemented all the new features for M1), but this bug has outlived its usefulness. Thanks for the report, John. Added AssumedStale label. |
This comment was originally written by pruj...@gmail.com Agreed. |
…t, test_process, webdev Revisions updated by `dart tools/rev_sdk_deps.dart`. browser_launcher (https://github.com/dart-lang/browser_launcher/compare/981ca88..5fa0bd6): 5fa0bd6 2022-11-01 Kevin Moore Update lints, require Dart 2.17, add dependabot (#34) dartdoc (https://github.com/dart-lang/dartdoc/compare/3273437..179ada0): 179ada02 2022-11-02 Sam Rawlins Change _HashableChildLibraryElementVisitor to be a RecursiveElementVisitor (#3242) a6e7d908 2022-11-02 Sam Rawlins Make Inheritable.isOverride late final non-nullable (#3235) c4f52cf9 2022-11-02 Sam Rawlins Test records support in typedefs (#3239) f74e129f 2022-11-02 Sam Rawlins Make Accessor.documentationComment late final non-nullable (#3240) ad50bfbc 2022-10-31 dependabot[bot] Bump github/codeql-action from 2.1.28 to 2.1.29 (#3238) http (https://github.com/dart-lang/http/compare/738a55b..6339026): 6339026 2022-11-02 Brian Quinlan Make timeout and cache controllable per-request. (#815) 51dbca2 2022-10-31 Brian Quinlan Add a streaming request example. (#813) mime (https://github.com/dart-lang/mime/compare/bf041aa..d80f4d0): d80f4d0 2022-11-02 Liu YuanYuan Add .avif to extension map (#70) 3a6b14e 2022-11-01 dependabot[bot] Bump actions/checkout from 3.0.2 to 3.1.0 (#72) string_scanner (https://github.com/dart-lang/string_scanner/compare/10435a4..4a5cbc5): 4a5cbc5 2022-10-31 Kevin Moore Make code in readme consistent with example (#49) test (https://github.com/dart-lang/test/compare/b82fc0b..173a36f): 173a36f2 2022-11-01 Jacob MacDonald prep packages to publish (#1780) fd8e2b68 2022-10-31 Devon Carew fix an issue with the github reporter (#1779) test_process (https://github.com/dart-lang/test_process/compare/068f9f8..1774aa7): 1774aa7 2022-11-01 dependabot[bot] Bump actions/checkout from 3.0.2 to 3.1.0 (#36) webdev (https://github.com/dart-lang/webdev/compare/c350055..069b870): 069b870 2022-11-01 Elliott Brooks (she/her) Prepare webdev for release to v.2.7.12 (#1775) cb06447 2022-11-01 Elliott Brooks (she/her) Prep DWDS for release (#1774) daa154d 2022-11-01 Elliott Brooks (she/her) Reset MV3 extension to nice starting point (#1773) 98a6142 2022-11-01 Jakub Vrána Remove // ignore: unsafe_html. (#1759) 939e285 2022-10-31 Elliott Brooks (she/her) Update documentation for Webdev release process (#1771) 0428ffb 2022-10-31 Elliott Brooks (she/her) Update package:file to latest version (#1770) Change-Id: I5020d718f6c009bca4f9b5e69232dc425b9d3409 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/267761 Commit-Queue: Kevin Moore <kevmoo@google.com> Reviewed-by: Kevin Moore <kevmoo@google.com> Commit-Queue: Devon Carew <devoncarew@google.com> Auto-Submit: Devon Carew <devoncarew@google.com>
This issue was originally filed by prujoh...@gmail.com
Build 7996.
Attached the files. ZartWeb.dart.js is the dart2js version, zartweb.dart.js_ is the frog version.
Is this just extra debugging overhead that will be removed later?
Attachments:
ZartWeb.dart.js (1.31 MB)
zartweb.dart.js_ (1003.31 KB)
The text was updated successfully, but these errors were encountered: