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