Hi. I tried, but the result is the same. I also tried to close the file with the "R" option, but the situation is the same... Could it be a problem in the TFile class? Cheers Diego On Thu, 8 Apr 2004, Philippe Canal wrote: > Hi, > > Instead of > TFile f1 = TFile("trees.root") > you should use > TFile *f1 = new TFile("trees.root"); > Instead of > t->Delete(); > use > delete t; > In addition to > f1->Close(); > use > f1->Close(); > delete f1; > > Also note that there is a fair amount of one-time initialization, loading, > creating that can happen the first time (in a process) you use one of ROOT > facility. You should actually compare the result __after__ the first time. > > I.e. > (low amount of memory being used) > TFile *f1 = new TFile("trees.root"); > TTree *t = (TTree *) f1.Get("h127") > delete f1; > gROOT->Reset(); > (some higher amount of memory being used) > TFile *f1 = new TFile("trees.root"); > TTree *t = (TTree *) f1.Get("h127") > delete f1; > gROOT->Reset(); > (SAME amount of memory being used.) > > Cheers, > Philippe. > > -----Original Message----- > From: owner-roottalk@pcroot.cern.ch > [mailto:owner-roottalk@pcroot.cern.ch]On Behalf Of Diego Faso > Sent: Thursday, April 08, 2004 9:54 AM > To: roottalk@cern.ch > Subject: [ROOT] memory problem (TFile) > > > Good afternoon. I need to open, read and close several root files in a > 'for loop'. > I encountered a problem of memory allocation: the memory allocated for the > 'root' process does not decrease when I close the file > > Here is an example: > ------------------------------------------- > (prompt)# root > (root process memory = 33908) > > root [0] TFile f1 = TFile("trees.root") > (root process memory = 35552) > > root [1] TTree *t = (TTree *) f1.Get("h127") > (root process memory = 37492) > > root [2] t->Delete() > (root process memory = 37492) > > root [3] f1.Close() > (root process memory = 37492) > > root [4] gROOT->Reset() > (root process memory = 37496) > ------------------------------------------- > > How can I solve this problem? > > My machine is: > > - Linux red hat 9.0 > - gcc version 3.2.2 20030222 (Red Hat Linux 3.2.2-5) > - root version 4.00/02 > (I noticed the same problem for the root version 3.10.02) > > > Cheers > Diego Faso > >
This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:07 MET