You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
My experience using the lib. Inputs for performance improvement #105
I am using this library and would like to share experience that will give you data when you refactor code to improve performance
When $openapi object is initialised by reading spec file it is taking significant time that can be reduced ($openapi = Reader::readFromJsonFile(realpath('openapi_spec.json'));)
When I print_r a Schema object (cebe\openapi\spec\Schema) it takes a lot of time, browser crashes sometimes. (Workaround print_r property directly echo $schema->title)
Above issue also occurs when I try to print other object such as MediaType
php.ini: max_execution_time & memory_limit are needed to increase. If possible, changes can be made to be within limit of PHP defaults
Note: I have not done concrete profiling. This are just my primary observation while using the lib
I will share further experiences when I go come across any
When $openapi object is initialised by reading spec file it is taking significant time that can be reduced ($openapi = Reader::readFromJsonFile(realpath('openapi_spec.json'));)
I think result shoud be cached. Two ways:
Cache in user space (need example in library documentation)
Cache as vendor feature - need CachebleReader implementation
PSR-6 integration support - accept user defined implementation injection
Activity
samizdam commentedon May 24, 2021
I think result shoud be cached. Two ways:
Last approach is best practice.
Currently, I'm use parsing for build app routing powered by spec with FastRoute (https://github.com/FreeElephants/json-api-php-toolkit/blob/be6041c5f6fd586e19d3bf1ba3b3b4030e260c11/src/FreeElephants/JsonApiToolkit/Routing/FastRoute/CacheableDispatcherFactoryProxy.php for example).