data-hub icon indicating copy to clipboard operation
data-hub copied to clipboard

[Improvement][Perf]: make ClassTypeDefinitions lazy and/or cached

Open dkarlovi opened this issue 5 months ago • 1 comments

Improvement description

Currently, \Pimcore\Bundle\DataHubBundle\GraphQL\ClassTypeDefinitions::build is creating type instances for all classes on every request

https://github.com/pimcore/data-hub/blob/f78112706afa25a590f3519d9ee9364df742ea2f/src/GraphQL/ClassTypeDefinitions.php#L35-L54

but not all classes will be used. It would make sense to convert this to a lazy loaded version where the instance is only created when get() is called.

This build process is almost 40% of the runtime in trivial GraphQL queries.

Untitled-profile-Blackfire

dkarlovi avatar Sep 19 '24 08:09 dkarlovi