Skip to content

Resolver Performance #3492

@DaddyWarbucks

Description

@DaddyWarbucks

I was clicking around the repo today and noticed this issue: #3487. It reminded me that awhile back I completed an issue for yup.js that I believe resolvers could also benefit from.

See: jquense/yup#2052

The problem is that the resolvers treat ALL resolver functions as async and pushes/pops them onto the event loop. This means it schedules potentially sync work on the event loop. This can be solved by creating a more callback oriented flow that allows sync functions and async functions to be scheduled differently.

I don't think the performance benefits will be as great here as they were in yup.js. Yup generally has more "resolvers" and are more regularly sync. Feathers resolvers generally have fewer "resolvers" and are more commonly async. But, for large datasets I bet there would be a considerable performance gain.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions