-
Notifications
You must be signed in to change notification settings - Fork 868
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
Split GitCommitProvider and move LoadCommits from prebuild to file build #3705
Split GitCommitProvider and move LoadCommits from prebuild to file build #3705
Conversation
OsmondJiang
commented
Nov 30, 2018
•
edited by yufeih
Loading
edited by yufeih
- split git commit provider and git commit cache provider
- combine repository provider and git commit provider
- save git commit cache at the end of the build
- remove contribution provider load, make it as inner call of build page, no need to load commits before build
- make the git commit provider lifetime consistent with build, be able to be re-used everywhere during one build
- Fixes git commit provider is not thread safe #3700
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is the peak memory usage and build time after this change for azure-docs-pr? This is performance sensitive code so I want to know some numbers. |
i will test it using my local machine The peak memory is 5.5 GB, bigger than the preview way because now the loadCommits are inner call of build page, not a preview step, so the "tree" cache keeps in the memory until the build finished: The build files time:
And we find an interesting problem, the gitCommitProvider will not be GC until build although it's an variable of buildFiles method, it seems referenced by ParallelUtility.Foreach, @yufeih, need your input here, please reference above picture |
7fc1d9d
to
f7cb549
Compare
2f24a31
to
dabc6a6
Compare
b401577
to
66151b1
Compare
How does this compare to the result before this change? |
e48b42e
to
93864f9
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍