[ROOT] need info on low level stuff

From: HP Wei (hp@rentec.com)
Date: Mon Dec 09 2002 - 20:29:15 MET


Hi,
  In order to squeeze the last bit of speed out of
  using ROOT, I need to understand the following points.
  Could any ROOT guru give me some clues ?
  Thanks.
  
  (1) Suppose I have a branch br whose buffer size 
      is N=32000.
      The data type in this branch is double.
      
      (a) when calling br.GetEvent(0) 
          is it true that in the buffer,
          we have 4000 (double) data points?
          From that buffer with a pool of 4000 numbers,
          ROOT then delivers the requested one into
          the linked variable (set up by SetBranchAddress()).
          
      (b) After (a), 
          when we call br.GetEvent(3000),
          ROOT will NOT do disk I/O.
          Is this correct??
          
      (c) After (a),
          if we do br.GetEvent(4015),
          a disk I/O is certanly invoked.
          Does the memory contain the entries
          from 4015 to 8014 ??
          
      (d) in (a) and (c),
          the disk I/O process will involve 
          one data de-compression 
          for that block of data, right?
          
   (2) Suppose we have two branches:
       br1 :  Int_t       dim
       br2 :  Double_t  d[dim]
          
       Suppose the buffer size is N=32000.
       
       We first allocate enough space, by knowing dim,
       for the desired entry .   
       Then, for example,
          br.GetEvent(0)
       will extract the 'whole' array into the allocated space.
       
       (a) how exactly is the process done?
           I mean, does ROOT divide the task into small ones,
           each of which involves only 32000 bytes.
           ROOT does one disk i/o for 32000 bytes and puts the data
                into the buffer,
                does the data decompression,
                and puts the resulting data into linked variable.
       (b) is there any low level stuff so that I can 
           choose which part of the data in d[dim] is to 
           be extracted and decompressed ???    
           
--hp



This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:23 MET