TMapFile, TFile - discussive

From: Valeriy Onuchin (onuchin@emcal06.rhic.bnl.gov)
Date: Tue Jul 14 1998 - 15:40:30 MEST


Hello Rooters!

1.  
  For my opinion the main obstacles of using 
TMapFiles is unoptimized memory allocation
see macro example below
 
root [0]  mfile = TMapFile::Create("test.map","NEW", 100000," ")     
(class TMapFile*)0x0
root [1] TNamed* dummy1 = new
TNamed("dummy1","dummy1")                   
root [2] dummy1->AppendDirectory()                                   
root [3] dummy1->Sizeof()                                            
(Int_t)14
root [4]  mfile->Update();                                           
root [5]  mfile->ls();                                               
Object               Class                Size      
dummy1               TNamed               1024      
root [6] TNamed* dummy2 = new TNamed("dummy2","dummy2") 
root [7] dummy2->AppendDirectory()                                   
root [8]  mfile->Update();                              
root [9]  mfile->ls();                                  
Object               Class                Size      
dummy1               TNamed               1024      
dummy2               TNamed               1024      


-- even tiny objects like dummy1,dummy2 allocate 1kb memory each.

Could it be improved or where I'm wrong?

2.
  I'd like to share dynamic data between two processes via TFile,
after having new feature of TObject::Write() 
(see http://root.cern.ch/root/roottalk/roottalk98/1238.html)
 it seems to be possible in a way similar to TMapFile::Update()/Get()

One of the problems remained is sincronization.

Could it be implemmented as embbeded feature  or as one of the options  
 of TObject::Read/Write  like it is done in TMapFile::Update/Get?
 

 			With best regards,        Valeriy



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:34:35 MET