Re: Performance issue, disappearing with use of clock()

From: Lorenzo Moneta <Lorenzo.Moneta_at_cern.ch>
Date: Wed, 30 Nov 2011 15:18:21 +0000


Hi,

 Are you sure you run in compiled mode ? If this is the case, please post a macro which can be compiled and run in compiled mode.

 Lorenzo
On Nov 30, 2011, at 2:55 PM, Berker, Yannick wrote:

> Dear Axel,
>
> thank you for your suggestion. I did not note any difference when running with "+", neither in run-time nor in the console output. The behavior is exactly identical.
> I also checked with the PATH variable cleared - then I see "sh: ldd: No such file or directory". So the + has an effect, but not on the observed issue. By the way, I tried both systems mentioned in my original email.
>
> Best regards,
> Yannick
> ________________________________________
> From: Axel Naumann [Axel.Naumann_at_cern.ch]
> Sent: Wednesday, November 30, 2011 14:36
> To: Berker, Yannick
> Cc: roottalk_at_root.cern.ch
> Subject: Re: [ROOT] Performance issue, disappearing with use of clock()
>
> Dear Yannick,
>
> Could try to run your code in compiled mode? Execution time might be
> dominated by CINT's bytecode processing otherwise (your code change is
> most likely triggering a change in CINT's optimization behavior).
>
> You can run it in compiled mode like this:
> root -q -b bug.cpp+
> Just make sure ROOT can find your compiler in the $PATH / %PATH%.
>
> Cheers, Axel.
>
>
> Berker, Yannick wrote on 11/30/2011 01:53 PM:

>> Dear ROOT development team,
>> 
>> I recently came across a weird performance issue involving random number generation. If you take a look at the attached bug.cpp, you will see a minimum version of the code that I am using (not depending on any input data files). In this code, the inner loop runs incredibly slow (if it doesn't for you, just increase the upper limit from 1e6 to whatever takes long on your machine). You may say that generating a bunch of random numbers may well take some time, but what is striking is that once you uncomment the //clock(); line, the same loop runs lightning fast. To give you some numbers from my Windows machine:
>> 
>> with "//clock();"
>> 1e4:   3.8 s
>> 5e4:  17.5 s
>> 1e5:  32.0 s
>> 1e6: 343.7 s
>> 
>> with "clock();"
>> 1e6: 0.6 s
>> 5e6: 1.6 s
>> 1e7: 3.1 s
>> 
>> I was able to reproduce this on several ROOT versions on several machines, including these:
>> ROOT 5.26/00 (trunk_at_31882, Dec 14 2009, 20:18:36 on linuxx8664gcc) [Scientific Linux SL release 5.0]
>> ROOT 5.32/00-rc2 (tags/v5-32-00-rc2_at_42055, Nov 16 2011, 13:47:39 on win32) [Windows 7 Enterprise SP 1]
>> 
>> In all cases, I executed the script using the command "root -q -b bug.cpp".
>> 
>> I would be glad about any advice or insight, because adding clock() in various places of my code may not always be sufficient to prevent such performance issues, and is certainly not good programming practice.
>> 
>> Best regards,
>> Yannick
>> 
>> ________________________________
>> The information contained in this message may be confidential and legally protected under applicable law. The message is intended solely for the addressee(s). If you are not the intended recipient, you are hereby notified that any use, forwarding, dissemination, or reproduction of this message is strictly prohibited and may be unlawful. If you are not the intended recipient, please contact the sender by return e-mail and destroy all copies of the original message.

>
Received on Wed Nov 30 2011 - 16:18:27 CET

This archive was generated by hypermail 2.2.0 : Wed Nov 30 2011 - 17:50:01 CET