Files
FlatCAM/tests/test_pool_memory.py
HDR 0f9628803d Working on memory leakages.
Pool object belongs to FlatCAMApp, and recreated on 'Plot clear' & 'File new' functions to free memory (of main & pool additional processes).
FlatCAMObj has 'delete()' method to free resources.
FlatCAMObj deletes properly now on 'del *.ojb' in TreeItems.
2016-07-22 15:48:54 +06:00

45 lines
877 B
Python

import unittest
import random
from multiprocessing import Pool
import gc
import time
def task(data):
return [x**x for x in data]
class PoolMemoryCase(unittest.TestCase):
def setUp(self):
self.data = [random.random() for _ in range(5000000)]
self.pool = Pool()
self.results = {}
pass
def tearDown(self):
pass
def test_memory(self):
for i in range(5):
self.results[i] = self.pool.map_async(task, [self.data])
for i in self.results.keys():
self.results[i].wait()
print "result", i, len(self.results[i].get()[0])
del self.results[i]
print "ended"
time.sleep(5)
del self.data
self.pool.close()
time.sleep(2)
gc.collect()
print "collected", self.pool
time.sleep(5)
print "exit"