Skip to content

[crossgen2] Lazy string optimization #48580

Closed

Description

@jkotas

crossgen1 avoided emitting string fixups for strings used on exception throwing paths. crossgen2 is missing this optimization.

Note that this optimization produces a bit larger code, but saves time during startup by avoid string constant allocations.

See #47183 for more context.

Activity

  1. ghost added
    untriagedNew issue has not been triaged by the area owner
    on Feb 22, 2021
  2. removed
    untriagedNew issue has not been triaged by the area owner
    on Mar 16, 2021
  3. added this to the 6.0.0 milestone on Mar 16, 2021
  4. davidwrighton commented on Jul 19, 2021

    @davidwrighton
    Member

    This feature was cut from 6.0.0 due to lack of evidence on improvements to startup/working set. We should perform the analysis of the value of this optimization in 7.0

  5. modified the milestones: 6.0.0, 7.0.0 on Jul 19, 2021
  6. modified the milestones: 7.0.0, 8.0.0 on Jul 6, 2022
  7. davidwrighton commented on Jun 23, 2023

    @davidwrighton
    Member

    This year I spent significant time investigating startup performance, and the impact of realizing string literals was never even visible in the startup measurements at all. I'm going to close this as not interesting to invest in, especially given the data that adding them will increase file size.

  8. ghost locked as resolved and limited conversation to collaborators on Jul 24, 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

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions