dotnet / dotnet/linker

Automagically remove F# compilation resources

Open
#329 6 comments 1 reaction 0 assignees View on GitHub
task
Dominant language
C#
Stars
392
Forks
128
Avg merge
2d 10h
Merged PRs (30d)
2

Description

The linker can/should automatically remove any .NET manifest assembly resources named `FSharpSignatureData.*` and `FSharpOptimizationData.*` during linking.

These are only ever needed for F# compilation which doesn't happen on-device and given the aims of the linker it is reasonable to assume this data is unreachable.

My understanding is that removing these would trim about 1.5MB off the size of all applications using FSharp.Core.dll, and about 3MB off all applications using Elmish.XamarinForms.dll.

Here's an example of how the resources look in ILDASM:
```
.mresource public FSharpSignatureData.Elmish.XamarinForms
.mresource public FSharpOptimizationData.Elmish.XamarinForms
```

Thanks

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.