| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
The Helper is recreated with every invocation of Invoke-ScriptAnalyzer which essentially resulted in a runspace which was not cleaned up for every invocation. I saw 100s of runspaces (ia get-runspace) in my session. I also gave the CommandInfoCache it's own runspace pool and implemented IDisposable in it. Lastly, I've added a test to catch this in the future.
It no longer needs to be IDisposable Implement dispose in cache along suggested guidelines
|
The new test failed on WMF4 because the Get-Runspace Cmdlet is not available in that PS version. We could either exclude this PS version for that test (given the fix is ps version agnostic I think that would be OK) or maybe there is a lower level method that one can call as an alternative? This fix shows up implicitly in the build times, which are quite a bit faster when compared to the ones of master (1 minute), and the WMF4 one even 6 minutes. I even remember being realizing that the WMF4 builds started to take quite a bit longer at some point but I just thought that AppVeyor had reduced the VM sizes due it being a legacy image. I added a few suggestions and have just one question around the maximum number of runspaces to assert against but mostly this PR looks great. |
Sorry, something went wrong.
Co-Authored-By: Christoph Bergmeister [MVP] <c.bergmeister@gmail.com>
Co-Authored-By: Christoph Bergmeister [MVP] <c.bergmeister@gmail.com>
Co-Authored-By: Christoph Bergmeister [MVP] <c.bergmeister@gmail.com>
Co-Authored-By: Christoph Bergmeister [MVP] <c.bergmeister@gmail.com>
There was a problem hiding this comment.
Looks ok, can be merged if the build is green (except for the Ubuntu build)
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
PR Summary
The Helper is recreated with every invocation of Invoke-ScriptAnalyzer which essentially results in a runspace which was not cleaned up for every invocation. I saw 100s of runspaces (ia get-runspace) in my session. I also gave the CommandInfoCache it's own runspace pool and implemented IDisposable in it. Lastly, I've added a test to catch this in the future.
PR Checklist