Subject: CGAL users discussion list
List archive
- From: Sylvain Pion <>
- To:
- Subject: Re: [cgal-discuss] CGAL leaks memory?
- Date: Fri, 27 Oct 2006 20:59:35 +0200
- Organization: INRIA Sophia Antipolis, France
Maarten Moesen wrote:
Dear CGAL Programmers,[...]
I'm currently using CGAL 3.2 and I'm very happy with it. But I noticed
that my CGAL processes when they're running use increasing amounts of
memory, and do not release their memory although I do delete() etc.
properly.
I wrote the following little test program:
The output for the inexact constructions kernel is OK for me:
Start of program: Virtual process size: 21598208 Resident process size:
9842688
doubles allocated: Virtual process size: 37605376 Resident process size:
25890816
doubles destroyed: Virtual process size: 21602304 Resident process size:
9887744
Points allocated: Virtual process size: 69603328 Resident process size:
57888768
Points destroyed: Virtual process size: 21602304 Resident process size:
9887744
But all other kernels yield something like: (here Cartesian<double>)
Start of program: Virtual process size: 21594112 Resident process size:
9842688
doubles allocated: Virtual process size: 37601280 Resident process size:
25890816
doubles destroyed: Virtual process size: 21598208 Resident process size:
9887744
Points allocated: Virtual process size: 93536256 Resident process size:
81891328
Points destroyed: Virtual process size: 85532672 Resident process size:
73887744
How come that this last value is so high? What am I doing wrong? I would expect that it goes back to normal as with the doubles and the
inexact constructions kernel. (This is the reason why my processes grow
so large... )
BTW: I'm using CGAL 3.2 and g++ 4.0.3 on a linux system Program compiled with -O2 and -DNDEBUG
The Memory sizer seems to work fine, it gives about the same as top does
and the memory-widgets on my pc.
This is to be expected, unfortunately.
We have something in the works (Lazy_kernel) which will significantly
reduce the memory usage of the exact constructions kernel, but it's not
ready for prime time yet.
There will always be a difference with the pure double kernel though,
for exact constructions.
Here is what I get with the stuff to come :
Start of program: Virtual process size: 13541376 Resident process size: 4448256
doubles allocated: Virtual process size: 29548544 Resident process size: 20516864
doubles destroyed: Virtual process size: 13545472 Resident process size: 4513792
Points allocated: Virtual process size: 181452800 Resident process size: 172515328
Points destroyed: Virtual process size: 13565952 Resident process size: 4644864
Compared to the current EPECK :
Start of program: Virtual process size: 13537280 Resident process size: 4452352
doubles allocated: Virtual process size: 29544448 Resident process size: 20512768
doubles destroyed: Virtual process size: 13541376 Resident process size: 4509696
Points allocated: Virtual process size: 253480960 Resident process size: 244510720
Points destroyed: Virtual process size: 205479936 Resident process size: 196509696
--
Sylvain
- CGAL leaks memory?, Maarten Moesen, 10/27/2006
- Re: [cgal-discuss] CGAL leaks memory?, Sylvain Pion, 10/27/2006
Archive powered by MHonArc 2.6.16.