Python gc.disable() Examples
The following are 30
code examples of gc.disable().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
gc
, or try the search function
.
Example #1
Source File: test_gc.py From BinderFilter with MIT License | 6 votes |
def test_del_newclass(self): # __del__ methods can trigger collection, make this to happen thresholds = gc.get_threshold() gc.enable() gc.set_threshold(1) class A(object): def __del__(self): dir(self) a = A() del a gc.disable() gc.set_threshold(*thresholds) # The following two tests are fragile: # They precisely count the number of allocations, # which is highly implementation-dependent. # For example: # - disposed tuples are not freed, but reused # - the call to assertEqual somehow avoids building its args tuple
Example #2
Source File: test_io.py From lambda-packs with MIT License | 6 votes |
def test_load_refcount(): # Check that objects returned by np.load are directly freed based on # their refcount, rather than needing the gc to collect them. f = BytesIO() np.savez(f, [1, 2, 3]) f.seek(0) assert_(gc.isenabled()) gc.disable() try: gc.collect() np.load(f) # gc.collect returns the number of unreachable objects in cycles that # were found -- we are checking that no cycles were created by np.load n_objects_in_cycles = gc.collect() finally: gc.enable() assert_equal(n_objects_in_cycles, 0)
Example #3
Source File: test_threading.py From sentry-python with BSD 2-Clause "Simplified" License | 6 votes |
def test_circular_references(sentry_init, request): sentry_init(default_integrations=False, integrations=[ThreadingIntegration()]) gc.collect() gc.disable() request.addfinalizer(gc.enable) class MyThread(Thread): def run(self): pass t = MyThread() t.start() t.join() del t assert not gc.collect()
Example #4
Source File: test_process.py From Safejumper-for-Desktop with GNU General Public License v2.0 | 6 votes |
def childConnectionLost(self, childFD): """ Similarly to L{childDataReceived}, disable the automatic dispatch provided by the base implementation to verify that the transport is calling this method directly. """ if childFD == 1: self.stages.append(2) if self.data != b"abcd": raise RuntimeError( "Data was %r instead of 'abcd'" % (self.data,)) self.transport.write(b"1234") elif childFD == 2: self.stages.append(3) if self.err != b"1234": raise RuntimeError( "Err was %r instead of '1234'" % (self.err,)) self.transport.write(b"abcd") self.stages.append(4) elif childFD == 0: self.stages.append(5)
Example #5
Source File: utils.py From lambda-packs with MIT License | 6 votes |
def _assert_valid_refcount(op): """ Check that ufuncs don't mishandle refcount of object `1`. Used in a few regression tests. """ if not HAS_REFCOUNT: return True import numpy as np, gc b = np.arange(100*100).reshape(100, 100) c = b i = 1 gc.disable() try: rc = sys.getrefcount(i) for j in range(15): d = op(b, c) assert_(sys.getrefcount(i) >= rc) finally: gc.enable() del d # for pyflakes
Example #6
Source File: test_process.py From Safejumper-for-Desktop with GNU General Public License v2.0 | 6 votes |
def setUp(self): """ Replace L{process} os, fcntl, sys, switchUID, fdesc and pty modules with the mock class L{MockOS}. """ if gc.isenabled(): self.addCleanup(gc.enable) else: self.addCleanup(gc.disable) self.mockos = MockOS() self.mockos.euid = 1236 self.mockos.egid = 1234 self.patch(process, "os", self.mockos) self.patch(process, "fcntl", self.mockos) self.patch(process, "sys", self.mockos) self.patch(process, "switchUID", self.mockos.switchUID) self.patch(process, "fdesc", self.mockos) self.patch(process.Process, "processReaderFactory", DumbProcessReader) self.patch(process.Process, "processWriterFactory", DumbProcessWriter) self.patch(process, "pty", self.mockos) self.mocksig = MockSignal() self.patch(process, "signal", self.mocksig)
Example #7
Source File: timeit.py From meddle with MIT License | 6 votes |
def timeit(self, number=default_number): """Time 'number' executions of the main statement. To be precise, this executes the setup statement once, and then returns the time it takes to execute the main statement a number of times, as a float measured in seconds. The argument is the number of times through the loop, defaulting to one million. The main statement, the setup statement and the timer function to be used are passed to the constructor. """ if itertools: it = itertools.repeat(None, number) else: it = [None] * number gcold = gc.isenabled() gc.disable() timing = self.inner(it, self.timer) if gcold: gc.enable() return timing
Example #8
Source File: utils.py From recruit with Apache License 2.0 | 6 votes |
def _assert_valid_refcount(op): """ Check that ufuncs don't mishandle refcount of object `1`. Used in a few regression tests. """ if not HAS_REFCOUNT: return True import numpy as np, gc b = np.arange(100*100).reshape(100, 100) c = b i = 1 gc.disable() try: rc = sys.getrefcount(i) for j in range(15): d = op(b, c) assert_(sys.getrefcount(i) >= rc) finally: gc.enable() del d # for pyflakes
Example #9
Source File: utils.py From fastMRI with MIT License | 6 votes |
def host_memory_usage_in_gb(): gc.collect() gc.disable() # Avoids accessing gc'd objects during traversal. objects = gc.get_objects() tensors = [obj for obj in objects if torch.is_tensor(obj)] # Debug host_tensors = [t for t in tensors if not t.is_cuda] total_mem_mb = 0 visited_data = [] for tensor in host_tensors: if tensor.is_sparse: continue # a data_ptr indicates a memory block allocated data_ptr = tensor.storage().data_ptr() if data_ptr in visited_data: continue visited_data.append(data_ptr) numel = tensor.storage().size() element_size = tensor.storage().element_size() mem_mb = numel*element_size /1024/1024 # 32bit=4Byte, MByte total_mem_mb += mem_mb gc.enable() return total_mem_mb / 1024 # in
Example #10
Source File: timeit.py From ironpython2 with Apache License 2.0 | 6 votes |
def timeit(self, number=default_number): """Time 'number' executions of the main statement. To be precise, this executes the setup statement once, and then returns the time it takes to execute the main statement a number of times, as a float measured in seconds. The argument is the number of times through the loop, defaulting to one million. The main statement, the setup statement and the timer function to be used are passed to the constructor. """ if itertools: it = itertools.repeat(None, number) else: it = [None] * number gcold = gc.isenabled() gc.disable() try: timing = self.inner(it, self.timer) finally: if gcold: gc.enable() return timing
Example #11
Source File: test_signal.py From ironpython2 with Apache License 2.0 | 6 votes |
def sig_vtalrm(self, *args): self.hndl_called = True if self.hndl_count > 3: # it shouldn't be here, because it should have been disabled. raise signal.ItimerError("setitimer didn't disable ITIMER_VIRTUAL " "timer.") elif self.hndl_count == 3: # disable ITIMER_VIRTUAL, this function shouldn't be called anymore signal.setitimer(signal.ITIMER_VIRTUAL, 0) if test_support.verbose: print("last SIGVTALRM handler call") self.hndl_count += 1 if test_support.verbose: print("SIGVTALRM handler invoked", args)
Example #12
Source File: utils.py From Mastering-Elasticsearch-7.0 with MIT License | 6 votes |
def _assert_valid_refcount(op): """ Check that ufuncs don't mishandle refcount of object `1`. Used in a few regression tests. """ if not HAS_REFCOUNT: return True import numpy as np, gc b = np.arange(100*100).reshape(100, 100) c = b i = 1 gc.disable() try: rc = sys.getrefcount(i) for j in range(15): d = op(b, c) assert_(sys.getrefcount(i) >= rc) finally: gc.enable() del d # for pyflakes
Example #13
Source File: test_multiprocessing.py From oss-ftp with MIT License | 6 votes |
def test_free_from_gc(self): # Check that freeing of blocks by the garbage collector doesn't deadlock # (issue #12352). # Make sure the GC is enabled, and set lower collection thresholds to # make collections more frequent (and increase the probability of # deadlock). if not gc.isenabled(): gc.enable() self.addCleanup(gc.disable) thresholds = gc.get_threshold() self.addCleanup(gc.set_threshold, *thresholds) gc.set_threshold(10) # perform numerous block allocations, with cyclic references to make # sure objects are collected asynchronously by the gc for i in range(5000): a = multiprocessing.heap.BufferWrapper(1) b = multiprocessing.heap.BufferWrapper(1) # circular references a.buddy = b b.buddy = a # # #
Example #14
Source File: test_gc.py From oss-ftp with MIT License | 6 votes |
def test_main(): enabled = gc.isenabled() gc.disable() assert not gc.isenabled() debug = gc.get_debug() gc.set_debug(debug & ~gc.DEBUG_LEAK) # this test is supposed to leak try: gc.collect() # Delete 2nd generation garbage run_unittest(GCTests, GCTogglingTests) finally: gc.set_debug(debug) # test gc.enable() even if GC is disabled by default if verbose: print "restoring automatic collection" # make sure to always test gc.enable() gc.enable() assert gc.isenabled() if not enabled: gc.disable()
Example #15
Source File: test_gc.py From ironpython2 with Apache License 2.0 | 6 votes |
def test_del_newclass(self): # __del__ methods can trigger collection, make this to happen thresholds = gc.get_threshold() gc.enable() gc.set_threshold(1) class A(object): def __del__(self): dir(self) a = A() del a gc.disable() gc.set_threshold(*thresholds) # The following two tests are fragile: # They precisely count the number of allocations, # which is highly implementation-dependent. # For example: # - disposed tuples are not freed, but reused # - the call to assertEqual somehow avoids building its args tuple
Example #16
Source File: test_gc.py From oss-ftp with MIT License | 6 votes |
def test_del_newclass(self): # __del__ methods can trigger collection, make this to happen thresholds = gc.get_threshold() gc.enable() gc.set_threshold(1) class A(object): def __del__(self): dir(self) a = A() del a gc.disable() gc.set_threshold(*thresholds) # The following two tests are fragile: # They precisely count the number of allocations, # which is highly implementation-dependent. # For example: # - disposed tuples are not freed, but reused # - the call to assertEqual somehow avoids building its args tuple
Example #17
Source File: test_multiprocessing.py From ironpython2 with Apache License 2.0 | 6 votes |
def test_free_from_gc(self): # Check that freeing of blocks by the garbage collector doesn't deadlock # (issue #12352). # Make sure the GC is enabled, and set lower collection thresholds to # make collections more frequent (and increase the probability of # deadlock). if not gc.isenabled(): gc.enable() self.addCleanup(gc.disable) thresholds = gc.get_threshold() self.addCleanup(gc.set_threshold, *thresholds) gc.set_threshold(10) # perform numerous block allocations, with cyclic references to make # sure objects are collected asynchronously by the gc for i in range(5000): a = multiprocessing.heap.BufferWrapper(1) b = multiprocessing.heap.BufferWrapper(1) # circular references a.buddy = b b.buddy = a # # #
Example #18
Source File: test_io.py From auto-alt-text-lambda-api with MIT License | 6 votes |
def test_load_refcount(): # Check that objects returned by np.load are directly freed based on # their refcount, rather than needing the gc to collect them. f = BytesIO() np.savez(f, [1, 2, 3]) f.seek(0) assert_(gc.isenabled()) gc.disable() try: gc.collect() np.load(f) # gc.collect returns the number of unreachable objects in cycles that # were found -- we are checking that no cycles were created by np.load n_objects_in_cycles = gc.collect() finally: gc.enable() assert_equal(n_objects_in_cycles, 0)
Example #19
Source File: timeit.py From GDCTSCP with GNU Affero General Public License v3.0 | 6 votes |
def timeit(self, number=default_number): """Time 'number' executions of the main statement. To be precise, this executes the setup statement once, and then returns the time it takes to execute the main statement a number of times, as a float measured in seconds. The argument is the number of times through the loop, defaulting to one million. The main statement, the setup statement and the timer function to be used are passed to the constructor. """ if itertools: it = itertools.repeat(None, number) else: it = [None] * number gcold = gc.isenabled() gc.disable() try: timing = self.inner(it, self.timer) finally: if gcold: gc.enable() return timing
Example #20
Source File: test_signal.py From oss-ftp with MIT License | 6 votes |
def sig_vtalrm(self, *args): self.hndl_called = True if self.hndl_count > 3: # it shouldn't be here, because it should have been disabled. raise signal.ItimerError("setitimer didn't disable ITIMER_VIRTUAL " "timer.") elif self.hndl_count == 3: # disable ITIMER_VIRTUAL, this function shouldn't be called anymore signal.setitimer(signal.ITIMER_VIRTUAL, 0) if test_support.verbose: print("last SIGVTALRM handler call") self.hndl_count += 1 if test_support.verbose: print("SIGVTALRM handler invoked", args)
Example #21
Source File: timeit.py From oss-ftp with MIT License | 6 votes |
def timeit(self, number=default_number): """Time 'number' executions of the main statement. To be precise, this executes the setup statement once, and then returns the time it takes to execute the main statement a number of times, as a float measured in seconds. The argument is the number of times through the loop, defaulting to one million. The main statement, the setup statement and the timer function to be used are passed to the constructor. """ if itertools: it = itertools.repeat(None, number) else: it = [None] * number gcold = gc.isenabled() gc.disable() try: timing = self.inner(it, self.timer) finally: if gcold: gc.enable() return timing
Example #22
Source File: test_io.py From vnpy_crypto with MIT License | 6 votes |
def test_load_refcount(): # Check that objects returned by np.load are directly freed based on # their refcount, rather than needing the gc to collect them. f = BytesIO() np.savez(f, [1, 2, 3]) f.seek(0) assert_(gc.isenabled()) gc.disable() try: gc.collect() np.load(f) # gc.collect returns the number of unreachable objects in cycles that # were found -- we are checking that no cycles were created by np.load n_objects_in_cycles = gc.collect() finally: gc.enable() assert_equal(n_objects_in_cycles, 0)
Example #23
Source File: cache.py From Computable with MIT License | 6 votes |
def load_parser(self, path, original_changed_time): try: pickle_changed_time = self._index[path] except KeyError: return None if original_changed_time is not None \ and pickle_changed_time < original_changed_time: # the pickle file is outdated return None with open(self._get_hashed_path(path), 'rb') as f: try: gc.disable() parser_cache_item = pickle.load(f) finally: gc.enable() debug.dbg('pickle loaded: %s', path) parser_cache[path] = parser_cache_item return parser_cache_item.parser
Example #24
Source File: timeit.py From BinderFilter with MIT License | 6 votes |
def timeit(self, number=default_number): """Time 'number' executions of the main statement. To be precise, this executes the setup statement once, and then returns the time it takes to execute the main statement a number of times, as a float measured in seconds. The argument is the number of times through the loop, defaulting to one million. The main statement, the setup statement and the timer function to be used are passed to the constructor. """ if itertools: it = itertools.repeat(None, number) else: it = [None] * number gcold = gc.isenabled() gc.disable() try: timing = self.inner(it, self.timer) finally: if gcold: gc.enable() return timing
Example #25
Source File: timeit.py From Computable with MIT License | 6 votes |
def timeit(self, number=default_number): """Time 'number' executions of the main statement. To be precise, this executes the setup statement once, and then returns the time it takes to execute the main statement a number of times, as a float measured in seconds. The argument is the number of times through the loop, defaulting to one million. The main statement, the setup statement and the timer function to be used are passed to the constructor. """ if itertools: it = itertools.repeat(None, number) else: it = [None] * number gcold = gc.isenabled() gc.disable() timing = self.inner(it, self.timer) if gcold: gc.enable() return timing
Example #26
Source File: test_signal.py From BinderFilter with MIT License | 6 votes |
def sig_vtalrm(self, *args): self.hndl_called = True if self.hndl_count > 3: # it shouldn't be here, because it should have been disabled. raise signal.ItimerError("setitimer didn't disable ITIMER_VIRTUAL " "timer.") elif self.hndl_count == 3: # disable ITIMER_VIRTUAL, this function shouldn't be called anymore signal.setitimer(signal.ITIMER_VIRTUAL, 0) if test_support.verbose: print("last SIGVTALRM handler call") self.hndl_count += 1 if test_support.verbose: print("SIGVTALRM handler invoked", args)
Example #27
Source File: test_multiprocessing.py From BinderFilter with MIT License | 6 votes |
def test_free_from_gc(self): # Check that freeing of blocks by the garbage collector doesn't deadlock # (issue #12352). # Make sure the GC is enabled, and set lower collection thresholds to # make collections more frequent (and increase the probability of # deadlock). if not gc.isenabled(): gc.enable() self.addCleanup(gc.disable) thresholds = gc.get_threshold() self.addCleanup(gc.set_threshold, *thresholds) gc.set_threshold(10) # perform numerous block allocations, with cyclic references to make # sure objects are collected asynchronously by the gc for i in range(5000): a = multiprocessing.heap.BufferWrapper(1) b = multiprocessing.heap.BufferWrapper(1) # circular references a.buddy = b b.buddy = a # # #
Example #28
Source File: test_gc.py From BinderFilter with MIT License | 6 votes |
def test_main(): enabled = gc.isenabled() gc.disable() assert not gc.isenabled() debug = gc.get_debug() gc.set_debug(debug & ~gc.DEBUG_LEAK) # this test is supposed to leak try: gc.collect() # Delete 2nd generation garbage run_unittest(GCTests, GCTogglingTests) finally: gc.set_debug(debug) # test gc.enable() even if GC is disabled by default if verbose: print "restoring automatic collection" # make sure to always test gc.enable() gc.enable() assert gc.isenabled() if not enabled: gc.disable()
Example #29
Source File: timeit.py From jawfish with MIT License | 6 votes |
def timeit(self, number=default_number): """Time 'number' executions of the main statement. To be precise, this executes the setup statement once, and then returns the time it takes to execute the main statement a number of times, as a float measured in seconds. The argument is the number of times through the loop, defaulting to one million. The main statement, the setup statement and the timer function to be used are passed to the constructor. """ it = itertools.repeat(None, number) gcold = gc.isenabled() gc.disable() try: timing = self.inner(it, self.timer) finally: if gcold: gc.enable() return timing
Example #30
Source File: b2bua_radius.py From b2bua with BSD 2-Clause "Simplified" License | 5 votes |
def __init__(self, global_config): self.global_config = global_config self.ccmap = [] self.el = Timeout(self.GClector, 60, -1) Signal(SIGHUP, self.discAll, SIGHUP) Signal(SIGUSR2, self.toggleDebug, SIGUSR2) Signal(SIGPROF, self.safeRestart, SIGPROF) Signal(SIGTERM, self.safeStop, SIGTERM) #gc.disable() #gc.set_debug(gc.DEBUG_STATS) #gc.set_threshold(0) #print gc.collect()