From Elvin:
Last week Martin Vala from ALICE came to me with a problem that he had while using the asynchronous prefetching. There were basically two main problems: 1. Trying to read a root file from an archive. Here the problem was that when reading from an archive there is an offset of the file which was not taken into consideration when the file was saved in the cache. And this lead to a miss when reading the file from cache. I fixed it, but I had to expose the value of fArchiveOffset from TFile. 2. The second problem was when reading using a TChain. There were some synchronization issues concerned to the asynchronous thread that actually does the reading. All this was happening because in the case of TChain there is only one file cache which is re-utilized as we move from one file to another. This was a pretty tricky issue. I attached a patch made against the current trunk which fixes both this problems. I gave the patch first to Martin to test it, and he was satisfied with it. There is a small delay when the TChain moves from one file to another because I have to wait for the async thread to finish it's worked but over all Martin said that the performance is way better than before. When I initially did the asyn pre-fetching I had no idea about these two use cases, so that's why they popped up now. git-svn-id: http://root.cern.ch/svn/root/trunk@41698 27541ba8-7e3a-0410-8455-c3a389f83636
Showing
- io/io/inc/TFPBlock.h 1 addition, 0 deletionsio/io/inc/TFPBlock.h
- io/io/inc/TFile.h 1 addition, 0 deletionsio/io/inc/TFile.h
- io/io/inc/TFilePrefetch.h 4 additions, 0 deletionsio/io/inc/TFilePrefetch.h
- io/io/src/TFPBlock.cxx 10 additions, 0 deletionsio/io/src/TFPBlock.cxx
- io/io/src/TFile.cxx 0 additions, 1 deletionio/io/src/TFile.cxx
- io/io/src/TFileCacheRead.cxx 6 additions, 1 deletionio/io/src/TFileCacheRead.cxx
- io/io/src/TFilePrefetch.cxx 30 additions, 7 deletionsio/io/src/TFilePrefetch.cxx
- tree/tree/src/TChain.cxx 17 additions, 2 deletionstree/tree/src/TChain.cxx
- tree/tree/src/TTreeCache.cxx 6 additions, 2 deletionstree/tree/src/TTreeCache.cxx
Loading
Please register or sign in to comment