Print

Print


Hi Rosen,
In XrdCl client there is no equivalent of ReadAheadSize. However, you could try to use TFile::ReadBuffers, this one allows for reading an arbitrary number of buffers at once (underneath it is using XrdCl::File::VectorRead). Alternatively, since you are not dealing with a root file you can also use plain xrootd and directly use the XrdCl::File::VectorRead (python bindings are also available).

I hope that helps.

Cheers,
Michal
________________________________
From: [log in to unmask] [[log in to unmask]] on behalf of Rosen Matev [[log in to unmask]]
Sent: 20 January 2016 15:27
To: [log in to unmask]
Subject: Performance of XrdCl::File with small reads

Hello,

I have a use case, where I do many small reads (~100 bytes) over the xrootd protocol using ROOT's TFile. I cannot use ROOT's caching mechanisms as I am reading a "raw" file, not a root file.

It seems that XrdCl::File (used by my ROOT by default) does not have any caching / read-ahead mechanism. On the contrary, when I configured ROOT to use the old XrdClient library, and set ReadAheadSize to an appropriate value, performance was reasonable.

Is there a way to improve performance with the XrdCl client with such access patterns?

Thanks,
Rosen

PS link to a related thread I started on the ROOT forum: https://root.cern.ch/phpBB3/viewtopic.php?f=3&t=20929

________________________________

Use REPLY-ALL to reply to list

To unsubscribe from the XROOTD-L list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-L&A=1

########################################################################
Use REPLY-ALL to reply to list

To unsubscribe from the XROOTD-L list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-L&A=1