Like in this post:
I am wondering whether we couldn’t take the opportunity of ROOT7 to change (a bit? radically?) the on-disk file format, especially the streamers, trees, branches and baskets.
This was also briefly mentioned in the coffee break(s) of the Annecy HEP Software Foundation workshop.
Having reimplemented a fair amount of the ROOT I/O layer in Go, I have a somewhat intimate knowledge (but still lacking!) of what goes under the wood when one does, in PyROOT:
>>> import ROOT >>> f = ROOT.TFile.Open("foo.root") >>> t = f.Get("tree") >>> t.GetEntry(42) >>> print(t.MyBranchData.SomeMethod())
During the HSF Analysis Ecosystem workshop (at Amsterdam), we also got an overview of what other people outside of HEP are doing wrt of files and storage:
Couldn’t we just adopt/adapt one of those? or, at the very least, simplify the on-disk data structures, their parsing and orchestration?