Skip to content
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

Improvements to Decommit Strategies #120

Merged
merged 4 commits into from
Feb 4, 2020
Merged

Improvements to Decommit Strategies #120

merged 4 commits into from
Feb 4, 2020

Conversation

mjp41
Copy link
Member

@mjp41 mjp41 commented Jan 29, 2020

This PR primarily fixes a performance issue on Windows where Commit (NotifyUsing) was called too often.

The other commits tidy the decommit code to remove an unused poorly performing strategy, and refactor the code.

mjp41 added 3 commits January 29, 2020 11:25
The performance on Windows was significantly regressed by the
notify_using during the bump allocation.  This change removes that.
It appears that the pages are already committed by
the large allocator.
The DecommitAll strategy performs badly.  We are not
functionally testing it, and it does not seem investing in it due to its
performance.
The code for decommit was distribured in the code base.
Removing Decommit All means that it can logically reside in
lthe arge allocator.
@mjp41 mjp41 force-pushed the decommit_perf branch 2 times, most recently from 079a105 to 4003805 Compare January 29, 2020 16:16
@mjp41
Copy link
Member Author

mjp41 commented Feb 3, 2020

@davidchisnall, this PR mostly does some tidying, but makes addressing some issues associated #114 much easier. But is does massively improve Windows perf.

@mjp41 mjp41 mentioned this pull request Feb 3, 2020
2 tasks
@davidchisnall davidchisnall merged commit a90c060 into master Feb 4, 2020
@davidchisnall davidchisnall deleted the decommit_perf branch February 4, 2020 09:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants