pimcore / data-hub

Data delivery & consumption platform for Pimcore.
Other
127 stars 108 forks source link

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

Open dkarlovi opened 1 month ago

dkarlovi commented 1 month ago

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

github-actions[bot] commented 1 week ago

Thanks a lot for reporting the issue. We did not consider the issue as "Pimcore:Priority", "Pimcore:ToDo" or "Pimcore:Backlog", so we're not going to work on that anytime soon. Please create a pull request to fix the issue if this is a bug report. We'll then review it as quickly as possible. If you're interested in contributing a feature, please contact us first here before creating a pull request. We'll then decide whether we'd accept it or not. Thanks for your understanding.