Skip to content
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

Separate structural profiles to reduce package size. #1075

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

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.

1 participant