Skip to content

Do not assemble deployedObject when not requested #15746

Open
@cameel

Description

@cameel

Currently the runtime subassembly is always created if present, even if the evm.deployedBytecode/--bin-runtime output is not requested. It happens even when this output is not available, e.g. in command-line Yul mode. While this is not the slowest part of the pipeline, it's still a fair chunk of unnecessary processing that may add up in big projects and could be completely avoided.

Details

We have two separate places where this happens:

We should make the deployed LinkerObject and optional result and only generate it when requested.

Note that code generation, optimization and Yul->EVM transformation is already being reused, because creation and deployed assemblies are a part of the same object tree. It's just the final assembling step that is performed independently.

Metadata

Metadata

Assignees

No one assigned

    Labels

    low effortThere is not much implementation work to be done. The task is very easy or tiny.low impactChanges are not very noticeable or potential benefits are limited.performance 🐎should haveWe like the idea but it’s not important enough to be a part of the roadmap.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions