Skip to content

GetEdmModel Performance Issue #2743

Open
@caviyacht

Description

@caviyacht

Very slow performance when calling GetEdmModel(), specifically in the ApplyNavigationSourceConventions() method. This was not a problem when using v6.0.0-alpha1 (pre-recursive complex support).

Assemblies affected

Microsoft.AspetNetCore.OData, v7.6.3

Reproduce steps

I'm not sure how to reproduce the issue exactly, but this seems to be happening because of the nesting logic that was added. The same size that is being used is:

  • Navigation Sources: 53
  • Structural Types: 1255
  • Operations: 171

Expected result

The GetEdmModel() call takes less than 5s (or faster) vs taking 20s+.

Actual result

The GetEdmModel() call is taking upwards of 20s to execute.

Additional detail

Below shows the time spent in the ApplyNavigationSourceConventions() method.

image

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions