Closed deleugpn closed 1 year ago
I'd not recommended to parse the file over and over. Use config caching. :)
The line you link to is the line that basically does all of the parsing, btw. ;)
Should I be using caching for PHPUnit? Is that really the recommendation?
Yes, definitely. Run both config and route cache, with the env set to testing.
I have a Laravel project with about 51 environment variables on our
.env.testing
file. The project consist of about 1300 automation tests written on PHPUnit.I was investigating a performance issue on our test suite and I managed to pinpoint one major degradation to https://github.com/vlucas/phpdotenv/blob/master/src/Parser/Parser.php#L27
The way I "benchmarked" this analyses was by adding a
throw new SkippedTestError('Skip');
and running the entire test suite on different places. Here is the result before that line is executed:It doesn't matter how many times I run the suite, it always finishes below 3.5 seconds.
Now moving the exception one step below:
It doesn't matter how many times I run the tests, it always end up above 6 seconds.
I'm still investigating if there is anything I can do on my side to mitigate this or if there is anything I can try to propose to the lib to improve this, but for now I thought I'd open an issue in case anybody have any bright ideas.