Community
Participate
Working Groups
Currently in our API baselines and (some) type containers we hold onto file handles and open streams, which is what requires us to open / close baselines (both the workspace and default) during a build. In the full build world this is not so bad / noticeable, but in the incremental world this adds a significant percentage of time to the build (from my testing 24 - 48ms of time in a ~900 ms operation). For the sake of not doing this extra work in the builds and to prevent leaking file handles / stream we should remove the use of file handles in favour of something else, URIs perhaps?
Created attachment 131157 [details] fix This patch removes the last vestiges of holding on to File handles in our framework. The only remaining place that we hold on to file system handles is in our bundle API component(s) - an open zip handle. The reason for this is that it is more costly to open / close the archive each time we want to find a type to compare than it is to hold it open until the end of the build.
applied patch, please verify Olivier
Verified.