Hi guys,
After running into serious memory use issues with our geometric
processing algorithm, I have done a simple experiment that seems to show
that wrapper garbage collection does not work at all. Try the code
below, and you should run out of memory in no time:
import gc
from OCC.gp import *
from OCC.BRepPrimAPI import *
from OCC.TopExp import *
def TestMemory():
w = 0.1
fp1 = (0.,0.,0.)
fp2 = (w,w,w)
mkbox = BRepPrimAPI_MakeBox(gp_Pnt(fp1[0],fp1[1],fp1[2]),
gp_Pnt(fp2[0],fp2[1],fp2[2]))
s1 = mkbox.Shell()
e = TopExp_Explorer()
for i in range(1000000):
print i
e.Init(s1, TopAbs_FACE)
while e.More():
sh = e.Current()
e.Next()
if not (i % 1000):
print 'Collecting garbage...'
gc.collect()
while 1:
pass
Not sure if this is a known issue or not, but it certainly makes the
wrapper problematic for our current purposes. If you can point me at the
right place in the wrapper generator I can maybe try and help.
Thanks,
Frank Conradie
Qfinsoft
_______________________________________________
Pythonocc-users mailing list
[email protected]
https://mail.gna.org/listinfo/pythonocc-users