Hi Rene!
I have released when I have made my macro shorter than the problem is not in reading the tree. I have ran the macro with the same number of branches and it goes very fast. I have seen that the speed problem comes from having couts inside if loops. I show you one of the loops I am using. This macro contains a lot of loops like this. For example:
if(TRod.HMarker != HEADER_MARKER) {
err++;
count_err_header_trailer[0]++;
if(answer == 0 && answer_opt[2] == 0) {
cout<<"Event = "<<event+1<<" -> Error HMarker = "<<count_err_header_trailer[0]<<endl;
cout<<"HMarker = 0x"<<hex<<TRod.HMarker<<dec<<endl;
if(answer_opt[3] == 0) {
getchar();
}
}
}
If I comment the couts the execution is fast, otherwise it is very slow. Do you know how can I solve it?
Thank you very much. Best regards
Arantxa
-----Original Message-----
From: brun@pcbrun.cern.ch on behalf of Rene Brun
Sent: Tue 7/20/2004 3:00 PM
To: Aranzazu Ruiz Martinez
Cc: roottalk (ROOT Talk mailing list)
Subject: Re: [ROOT] Speed problem for analysis macro
Could you send a very short script reading your Tree and also a small file
with your Tree. If the file is more than 100 Kbytes, tell us a public area
where we can access it.
Rene Brun
Aranzazu Ruiz Martinez wrote:
>
> Hi!
>
> I have made a macro to analyse data from a root tree. The tree contains about twenty branches using two different structures defined in a separate file and the problem is that the program is very slow and spends a lot of time to check a few entries.
>
> Do you know any way to increase the speed of this program? Maybe the problem is in the way I'm using the structure or in the way we read the branches.
>
> Thanks in advance. Best regards
>
> Arantxa
This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:09 MET