Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- """
- python3 -m pip install memory_profiler
- cmd: python3 -m memory_profiler test.py
- """
- import time
- from threading import Thread
- @profile
- def test(heavy):
- time.sleep(1)
- def test(number, heavy = False):
- print('test thread number %s' % number)
- if heavy: buf = [2**number for i in range(2**number)]
- else: buf = [2* number for i in range(2* number)]
- time.sleep(1)
- tasks = []
- for number in range(1, 21):
- task = Thread(target = test, args = (number, heavy))
- tasks.append(task)
- time.sleep(1)
- for task in tasks: task.start()
- time.sleep(1)
- for task in tasks: task.join()
- time.sleep(1)
- @profile
- def test_heavy():
- time.sleep(1)
- test(heavy = True)
- time.sleep(1)
- @profile
- def test_light():
- for i in range(100):
- test(heavy = False)
- if __name__ == '__main__':
- print('start testing')
- time.sleep(1)
- # uncoment for 1 test - little theads, but heavy
- test_heavy()
- # uncoment for 2 test - many threads, but light
- #test_light()
- time.sleep(1)
- print('done')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement