Author: Antonio Cuni <anto.c...@gmail.com> Branch: Changeset: r94602:49ede3b5afe6 Date: 2018-05-16 18:25 +0200 http://bitbucket.org/pypy/pypy/changeset/49ede3b5afe6/
Log: merge the gc-more-logging branch, which logs some extra gc-minor and gc-collect-step info in the PYPYLOG diff --git a/rpython/memory/gc/incminimark.py b/rpython/memory/gc/incminimark.py --- a/rpython/memory/gc/incminimark.py +++ b/rpython/memory/gc/incminimark.py @@ -1836,6 +1836,7 @@ debug_print("minor collect, total memory used:", total_memory_used) debug_print("number of pinned objects:", self.pinned_objects_in_nursery) + debug_print("total size of surviving objects:", self.nursery_surviving_size) if self.DEBUG >= 2: self.debug_check_consistency() # expensive! # @@ -2401,7 +2402,9 @@ # a total object size of at least '3 * nursery_size' bytes # is processed. limit = 3 * self.nursery_size // self.small_request_threshold - self.free_unvisited_rawmalloc_objects_step(limit) + nobjects = self.free_unvisited_rawmalloc_objects_step(limit) + debug_print("freeing raw objects:", limit-nobjects, + "freed, limit was", limit) done = False # the 2nd half below must still be done else: # Ask the ArenaCollection to visit a fraction of the objects. @@ -2411,6 +2414,8 @@ limit = 3 * self.nursery_size // self.ac.page_size done = self.ac.mass_free_incremental(self._free_if_unvisited, limit) + status = done and "No more pages left." or "More to do." + debug_print("freeing GC objects, up to", limit, "pages.", status) # XXX tweak the limits above # if done: _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit