-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use stream wrapper to extract files on demand. #1
Comments
I am currently trying to figure out if there is a net benefit using a stream wrapper. ResearchThese are questions that need answering.
Opcode CachingOpcode caching is not supported for streams. @flaupretre is working on adding support1, 2, 3, but I'm not sure if it's going to make it to the 7.1 release. Since Sqon will only be supporting current LTS releases, this functionality is considered non-existent at the moment. The conclusion is that opcode caching does not support streams at the moment. As a consequence, using stream wrapping will not be as performant as extracting the Sqon to the filesystem. The only benefit is reducing the startup time for a command line application. I should probably consider providing this as an alternative PHP bootstrap script.
Extract vs Streaming TimesUsing rough benchmarks, I received the following times for executing a Symfony 3 (
The 0.713 seconds is a very noticeable pause and is enough for me to determine that support streaming is not a viable option at this time. When an LTS version of PHP with stream caching support is available, this potential enhancement must be revisited. |
I'm reopening this issue to investigate the possible use of |
Problem
After creating some rough benchmarks for runtime performance comparison between PHAR and Sqon, I realized that the first run for a PHAR kicked Sqon's butt. I believe that this has something to do with the
phar
extension's support for stream wrapping. An attempt should be made to offer something similar with Sqon.Resolution
I am hoping to see faster run times when a Sqon is first run and for each subsequent run. This improvement should take advantage of PHP's optimizations (i.e. opcode caching).
References
The text was updated successfully, but these errors were encountered: