from __future__ import print_function
import resource
class A(object):
def __init__(self):
self.a = 'string'
self.b = 10
self.c = True
class B(object):
__slots__ = ['a', 'b', 'c']
def __init__(self):
self.a = 'string'
self.b = 10
self.c = True
def test(cls):
mem_init = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss
l = []
for i in range(500000):
l.append(cls())
mem_final = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss
del l
print('Class: {}:n'.format(getattr(cls, '__name__')))
print('Initial RAM usage: {:14,}'.format(mem_init))
print(' Final RAM usage: {:14,}'.format(mem_final))
print('-' * 20)
if __name__ == '__main__':
import sys
test(globals()[sys.argv[1].upper()])
❯ python mem_test.py a Class: A: Initial RAM usage: 4,890,624 Final RAM usage: 200,454,144 -------------------- ❯ python mem_test.py b Class: B: Initial RAM usage: 4,919,296 Final RAM usage: 60,235,776
In [2]: %pycat ref_example.py from weakref import ref class A(object): __slots__ = ['b'] def __init__(self): self.b = 1 class B(object): __slots__ = ['b', '__weakref__'] def __init__(self): self.b = 1 In [3]: from ref_example import * In [4]: a = A() In [5]: r = ref(a) --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-6-75a6d689c8b3> in <module>() ----> 1 r = ref(a) TypeError: cannot create weak reference to 'A' object In [6]: b = B() In [7]: r = ref(b) In [8]: r Out[8]: <weakref at 0x109199578; to 'B' at 0x10919f890>
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有