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

GC infra improvements #982

Merged
merged 1 commit into from Oct 30, 2019
Merged

GC infra improvements #982

merged 1 commit into from Oct 30, 2019

Conversation

ghost
Copy link

@ghost ghost commented Oct 30, 2019

  • Remove name dotnet-gc-infra from the README is this is not named that any more.
  • Remove FirstToLastEventSeconds metric, prefer TotalSecondsTaken instead.
  • host_info.yaml now describes the processor ranges contained by each numa node.
  • Support finalizable objects in GCPerfSim, similar to pinned objects
  • Add --show-reasons flag to analyze-single
    • print a summary of reason counts over all GCs
    • print reasons for each individual GC in the single-gcs section
  • Enhance --print-processes with support for arbitrary run metrics
    • Will show nothing if not a CLR process
    • To do this, must support getting ProcessedTrace objects for each individual process from a trace,
      resulting in some refactoring in process_trace.py
  • Added --no-readjust parameter to make_memory_load.c.
    This means there is only an initial memory load but it never frees or allocates afterwards.
    This may be more fair as a test, as a GC that consumes less memory shouldn't be punished by another process taking up more memory.
  • Support coreclr_specific in a config. This allows configs to be different for different coreclrs.
    This was useful as older coreclrs parsed complus_gcheapaffinitizeranges differently.
  • Convert test_status metrics to direct properties of ProcessedTrace so they're easier to use from jupyter notebook
  • Add new metrics AllocedMBAccumulated and MemoryPressure
  • Add new configurations, and bgc_stepping, bgc_tuning_loh, bgc_tuning_soh reasons.
    (For testing BGC tuning using the free list with PI loops coreclr#26695)
  • Support all document output args (e.g. --output-width) on all document-creating commands
  • Add NO_DEFAULT as an alternative to MISSING; allows a dataclass to inherit from another which has fields without defaults.
  • pylint bug import-outside-toplevel does not check from x import y imports pylint-dev/pylint#3175 is fixed, now must add more disables where this was violated

* Remove name `dotnet-gc-infra` from the README is this is not named that any more.
* Remove `FirstToLastEventSeconds` metric, prefer `TotalSecondsTaken` instead.
* host_info.yaml now describes the processor ranges contained by each numa node.
* Support finalizable objects in GCPerfSim, similar to pinned objects
* Add `--show-reasons` flag to `analyze-single`
	- print a summary of reason counts over all GCs
	- print reasons for each individual GC in the single-gcs section
* Enhance `--print-processes` with support for arbitrary run metrics
	* Will show nothing if not a CLR process
	* To do this, must support getting ProcessedTrace objects for each individual process from a trace,
	  resulting in some refactoring in process_trace.py
* Added `--no-readjust` parameter to make_memory_load.c.
  This means there is only an initial memory load but it never frees or allocates afterwards.
  This may be more fair as a test, as a GC that consumes less memory shouldn't be punished by another process taking up more memory.
* Support `coreclr_specific` in a config. This allows configs to be different for different coreclrs.
  This was useful as older coreclrs parsed `complus_gcheapaffinitizeranges` differently.
* Convert test_status metrics to direct properties of ProcessedTrace so they're easier to use from jupyter notebook
* Add new metrics AllocedMBAccumulated and MemoryPressure
* Add new configurations, and `bgc_stepping`, `bgc_tuning_loh`, `bgc_tuning_soh` reasons.
	(For testing dotnet/coreclr#26695)
* Support all document output args (e.g. `--output-width`) on all document-creating commands
* Add `NO_DEFAULT` as an alternative to `MISSING`; allows a dataclass to inherit from another which has fields without defaults.
* pylint fixed pylint-dev/pylint#3175 , now must add more disables where this was violated
@billwert billwert merged commit 425bb02 into dotnet:master Oct 30, 2019
@ghost ghost deleted the gc3 branch October 30, 2019 20:38
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.

None yet

1 participant