Skip to content

Conversation

@ikeough
Copy link
Contributor

@ikeough ikeough commented Dec 23, 2023

BACKGROUND:
During performance optimization of Hypar, we've found that lambda cold start times are proportional to package size. Analysis of the build folder of Elements revealed that Microsoft.CodeAnalysis.CSharp and Microsoft.CodeAnalysis.CSharp.Scripting and their associated per-language files were adding significant size to the build output. These dependencies were only required for the ParametericProfile class which is the base class for all structural profiles.

DESCRIPTION:
This PR creates the Elements.Structure project which moves all structural profile factories and types to a separate project. It also removes the Textures folder as this is only used for testing. This reduces the build output size from 18mb to 7.2mb.

TESTING:

  • How should a reviewer observe the behavior desired by this pull request?

FUTURE WORK:

  • Existing projects using Elements will need to add a reference to Elements.Structure if they want to use structural profiles.

REQUIRED:

  • All changes are up to date in CHANGELOG.md.

This change is Reviewable

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants