Skip to content

DevTools is an order-of-magnitude too big #4791

Description

@rmacnak-google
sdk$ du -sh out/ReleaseX64/dart-sdk/bin/resources/devtools/
90M	out/ReleaseX64/dart-sdk/bin/resources/devtools/

90M is way too much relative to the complexity of DevTool's feature set. It should more more like 3-4MB.

sdk$ du -sh out/ReleaseX64/gen/runtime/observatory/observatory_archive.tar
3.8M	out/ReleaseX64/gen/runtime/observatory/observatory_archive.tar

For comparison, Observatory, which has a feature set of roughly the same complexity, is more than an order-of-magnitude smaller, and Observatory itself should be at least a MB smaller if not for all the compatibility cruft handling when Polymer and Custom Elements were broken.

hopscotch$ du -ch out/*.wasm out/*.js out/*.webp out/HopscotchIDE.vfuel
...
3.0M	total

For comparison, Hopscotch, with a slightly smaller feature set but containing its own tests, source code and a compiler, is only 3MB.

This looks like a good opportunity for DevTools to dogfood its own size analysis tools.

Activity

  1. bkonyi commented on Feb 2, 2023

    @bkonyi
    Contributor

    Definitely some improvement recently:

    $ du -sh xcodebuild/ReleaseX64/dart-sdk/bin/resources/devtools/
     46M    xcodebuild/ReleaseX64/dart-sdk/bin/resources/devtools/
    
  2. kenzieschmoll commented on Feb 2, 2023

    @kenzieschmoll
    Member

    @elliette could we use the dart2js code size tools your interns worked on to investigate this? Could be a good reason to productionize the work and dogfood our own tools.

  3. kenzieschmoll commented on Feb 23, 2023

    @kenzieschmoll
    Member

    we might be able to make this smaller by removing more unused perfetto files

  4. added
    P2important to work on, but not at the top of the work list.
    and removed on Jul 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2important to work on, but not at the top of the work list.observatory migrationRelated to the Observatory -> DevTools migration effort

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions