Skip to content

Generate fully qualified lambda signatures for better compilation speed #33773

@roji

Description

@roji

Especially in the compiled model, we currently generate lambdas which aren't fully qualified:

       activityTagPacketFrameRow.TypeMapping = SqlServerLongTypeMapping.Default.Clone(
                comparer: new ValueComparer<long>(
                    (long v1, long v2) => v1 == v2,
                    (long v) => v.GetHashCode(),
                    (long v) => v),
                keyComparer: new ValueComparer<long>(
                    (long v1, long v2) => v1 == v2,
                    (long v) => v.GetHashCode(),
                    (long v) => v),
                providerValueComparer: new ValueComparer<long>(
                    (long v1, long v2) => v1 == v2,
                    (long v) => v.GetHashCode(),
                    (long v) => v));

For better compilation, it is highly recommended to specify the return value of the lambdas, to avoid the need for inference:

// current 
(long v1, long v2) => v1 == v2;
// preferred
bool (long v1, long v2) => v1 == v2;

Raised by @jaredpar

Metadata

Metadata

Assignees

No one assigned
    No fields configured for Feature.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions