Hi Thomas, I can indeed reproduce the same slowdown by a factor of 2. I suspect that this is due to the multi-thread nature of the ROOT implementation on Windows. (I.e. the other thread are probably being run). We will check further. Cheers, Philippe. -----Original Message----- From: owner-roottalk@pcroot.cern.ch [mailto:owner-roottalk@pcroot.cern.ch]On Behalf Of Thomas Nisius Sent: Friday, August 08, 2003 7:28 AM To: roottalk@pcroot.cern.ch Subject: [ROOT] execution speed of compiled programs using ROOT Hi, when I compile a program that include some root objects, execution speed drops significantly. please see the following example: #include <time.h> #include <iostream> using namespace std; #include <TH2D.h> #define USE_ROOT int main(int argc, char* argv[]) { #ifdef USE_ROOT TH2D *h = new TH2D("test","test",64,0,1,64,0,1); h->FillRandom("gaus",1000); #endif double r=0; double time = clock(); // save the clock for(long int i=0; i<100000000; i++) { r += 0.5; } cout << r << endl; cout << "Duration: " << clock() - time << endl; return 0; } if in this example 'USE_ROOT' is defined the duration is nearly twice as long as without it. (note, that only the execution of the loop is taken into account, not the histo filling) I'm using Root 3.05/07 (win32gdk-version) on WinXP & Win2000 Compiler: MSVC++ 6 I link libCore.lib and libHist.lib to my Project Any suggestions? Kind Regards Thomas Nisius __________________________________________________________________________ Die sicherste Form der Kommunikation: E-Mails verschluesseln, Spam-Filter, Adressverifizierung, digitale Unterschrift: http://freemail.web.de
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:14 MET