Hi Eric, Thanks for reporting the memory leak when creating/deleting canvases. We will fix this problem. Concerning your macro2, this is the expected behaviour. There is no leak. This is simply the C++ memory fragmentation problem where the compiler tries to optimize a large buffer of small objects being created/deleted. Rene Brun eric.anciant@noos.fr wrote: > > Hello rooters, > > I have in fact two questions one leading to the second one : > > Question 1 : > > Using ROOT 4.00/08 with GDK on WIN2000 > > * Version 4.00/08 9 July 2004 * > Compiled for win32. > CINT/ROOT C/C++ Interpreter version 5.15.138, May 23 2004 > > I suspect a weird memory leak when drawing canvas : I have an > application that display a few canvas (in fact 3) in which I draw and > updates graphs and histograms over hours, meanwhile the memory usage of > the application grows slowly but constantly ( from about 20 M to 100's > of Meg, eventually crashing the system). I am quite confident with the > rest of the code, because if I remove the drawing of the canvas (keeping > creation/deletion of histograms and graphs), the leak doesn't appear, > and because of the funniest part : If I iconify the 3 canvases > (graphically using the mouse) the memory usage of the application > suddently drops to very low (and to what I would expect the application > memory usage to be; a few megs ), and then starts again to grow .... > until I de-iconify and re-iconify again the canvases... > It looks to me more like a GDK / microsoft-windows low level interaction > than a root problem, did somebody have seen something equivalent ? > > Question 2 : > > I therefore tried a few things at home on Linux box; namely : > > macro1 : > { > TCanvas* c; > int i; > for (i=0; i< 10000; i++) { > c = new TCanvas(); > delete c; > } > } > > macro2 : > { > TH2D* h; > int j; > for (j=0; j<10000; j++ ) { > h = new TH2D("h","h",1000,0,1,1000,0,1); > delete h; > } > } > > macro1 shows a memory usage of root.exe that grows constantly, > macro2 shows a (though oscillating ..) steady memory usage. > > Is this the expected behaviour ? > > eric
This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:09 MET