Skip to content

Track excessive use of registrations for reflective usage #51362

@Sanne

Description

@Sanne

Description

As the benchmark at https://github.com/quarkusio/spring-quarkus-perf-comparison starts producing interesting data, it also highlight that this not-humoungous application is registering 5600+ classes for reflective instantiaton, and 4200+ fields accessed reflectively, 13000+ methods "using reflection" [1].

I suppose these might have good reasons to be registered, however as a "finger in the air" first impression they seem to me wildly excessive: we should look into these, and see if we can bring those needs for reflective invocations under control.

We might need some tool to break them down / classify, and ideally we'd be able to discuss a strategy for keeping these under control in the long term.

1 - I'm not sure of what exactly such figures refer to, needs to double check.

Implementation ideas

Start looking at the primary offenders and investigate how practical it would be to decise alternative solutions.

Try to document the exploration process, to see if we can make future analysis easier and/or somewhat automated.

Perhaps output such stats as part of each CI build, and see if they can be plotted over time as part of other performance metrics? cc/ @stalep

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/housekeepingIssue type for generalized tasks not related to bugs or enhancementsarea/performanceissues related quarkus runtime performance

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions