https://github.com/root-project/root
Raw File
Tip revision: 7a1917fead85b88017cb13346529a19fec3d8351 authored by Unknown Author on 13 December 2000, 12:08:01 UTC
This commit was manufactured by cvs2svn to create tag 'v2-26-final'.
Tip revision: 7a1917f
rootmarks.C
{
//  Prints a summary of all ROOT benchmarks (must be run before)
//  The ROOTMARK number printed is by reference to a Pentium III 600 Mhz
//  (DELL Inspiron 7500 with 256 MBytes memory and 18 GBytes IDE disk)
//  taken by definition as 200 ROOTMARKS in batch mode in executing
//     root -b -q benchmarks.C
//

   Float_t rtall   = 0;
   Float_t cpall   = 0;
   Float_t norm    = 200;  //obtained rootmarks on Dell Inspiron 600 Mhz
   Float_t rtmark,cpmark;
   Bool_t batch = gROOT->IsBatch();

   printf("---------------ROOT %s benchmarks summary--------------------\n",gROOT->GetVersion());
   gBenchmark->Summary(rtall,cpall);
   printf("\n---------------ROOT %s benchmarks summary (in ROOTMARKS)-----\n",gROOT->GetVersion());
   printf("   For comparison, an Pentium III 600Mhz is benchmarked at 200 ROOTMARKS\n");
   Float_t hsimple_rt = gBenchmark->GetRealTime("hsimple");
   Float_t hsimple_ct = gBenchmark->GetCpuTime("hsimple");
   if (hsimple_rt > 0) {
      if (batch) {
         rtmark = norm*(0.92/hsimple_rt);
         cpmark = norm*(0.81/hsimple_ct);
      } else {
         rtmark = norm*(2.32/hsimple_rt);
         cpmark = norm*(1.41/hsimple_ct);
      }
      printf("hsimple     = %7.2f RealMARKS,  = %7.2f CpuMARKS\n",rtmark,cpmark);
   }

   Float_t hsum_rt = gBenchmark->GetRealTime("hsum");
   Float_t hsum_ct = gBenchmark->GetCpuTime("hsum");
   if (hsum_rt > 0) {
      if (batch) {
         rtmark = norm*(0.43/hsum_rt);
         cpmark = norm*(0.43/hsum_ct);
      } else {
         rtmark = norm*(1.43/hsum_rt);
         cpmark = norm*(0.85/hsum_ct);
      }
      printf("hsum        = %7.2f RealMARKS,  = %7.2f CpuMARKS\n",rtmark,cpmark);
   }

   Float_t fillrandom_rt = gBenchmark->GetRealTime("fillrandom");
   Float_t fillrandom_ct = gBenchmark->GetCpuTime("fillrandom");
   if (fillrandom_rt > 0) {
      if (batch) {
         rtmark = norm*(0.03/fillrandom_rt);
         cpmark = norm*(0.03/fillrandom_ct);
      } else {
         rtmark = norm*(0.21/fillrandom_rt);
         cpmark = norm*(0.08/fillrandom_ct);
      }
      printf("fillrandom  = %7.2f RealMARKS,  = %7.2f CpuMARKS\n",rtmark,cpmark);
   }

   Float_t fit1_rt = gBenchmark->GetRealTime("fit1");
   Float_t fit1_ct = gBenchmark->GetCpuTime("fit1");
   if (fit1_rt > 0) {
      if (batch) {
         rtmark = norm*(0.39/fit1_rt);
         cpmark = norm*(0.09/fit1_ct);
      } else {
         rtmark = norm*(0.23/fit1_rt);
         cpmark = norm*(0.14/fit1_ct);
      }
      printf("fit1        = %7.2f RealMARKS,  = %7.2f CpuMARKS\n",rtmark,cpmark);
   }

   Float_t tornado_rt = gBenchmark->GetRealTime("tornado");
   Float_t tornado_ct = gBenchmark->GetCpuTime("tornado");
   if (tornado_rt > 0) {
      if (batch) {
         rtmark = norm*(0.12/tornado_rt);
         cpmark = norm*(0.11/tornado_ct);
      } else {
         rtmark = norm*(0.20/tornado_rt);
         cpmark = norm*(0.12/tornado_ct);
      }
      printf("tornado     = %7.2f RealMARKS,  = %7.2f CpuMARKS\n",rtmark,cpmark);
   }

   Float_t na49_rt = gBenchmark->GetRealTime("na49");
   Float_t na49_ct = gBenchmark->GetCpuTime("na49");
   if (na49_rt > 0) {
      rtmark = norm*(6.35/na49_rt);
      cpmark = norm*(6.32/na49_ct);
      printf("na49        = %7.2f RealMARKS,  = %7.2f CpuMARKS\n",rtmark,cpmark);
   }

   Float_t geometry_rt = gBenchmark->GetRealTime("geometry");
   Float_t geometry_ct = gBenchmark->GetCpuTime("geometry");
   if (geometry_rt > 0) {
      rtmark = norm*(0.41/geometry_rt);
      cpmark = norm*(0.39/geometry_ct);
      printf("geometry    = %7.2f RealMARKS,  = %7.2f CpuMARKS\n",rtmark,cpmark);
   }

   Float_t na49view_rt = gBenchmark->GetRealTime("na49view");
   Float_t na49view_ct = gBenchmark->GetCpuTime("na49view");
   if (na49view_rt > 0) {
      if (batch) {
         rtmark = norm*(0.12/na49view_rt);
         cpmark = norm*(0.10/na49view_ct);
      } else {
         rtmark = norm*(0.73/na49view_rt);
         cpmark = norm*(0.24/na49view_ct);
      }
      printf("na49view    = %7.2f RealMARKS,  = %7.2f CpuMARKS\n",rtmark,cpmark);
   }

   Float_t ntuple1_rt = gBenchmark->GetRealTime("ntuple1");
   Float_t ntuple1_ct = gBenchmark->GetCpuTime("ntuple1");
   if (ntuple1_rt > 0) {
      if (batch) {
         rtmark = norm*(1.10/ntuple1_rt);
         cpmark = norm*(0.81/ntuple1_ct);
      } else {
         rtmark = norm*(1.25/ntuple1_rt);
         cpmark = norm*(0.89/ntuple1_ct);
      }
      printf("ntuple1     = %7.2f RealMARKS,  = %7.2f CpuMARKS\n",rtmark,cpmark);
   }

   if (rtall) {
      Float_t rtdell, cpdell;
      if (batch) {
         rtdell    = 9.16;
         cpdell    = 8.89;
      } else {
         rtdell    = 13.15;
         cpdell    = 10.45;
      }
      Float_t rootmarks = norm*(rtdell+cpdell)/(rtall+cpall);
      printf("\n");
      printf("****************************************************\n");
      printf("* Your machine is estimated at %7.2f ROOTMARKS   *\n",rootmarks);
      printf("****************************************************\n");
   } else {
      printf(" You must run the ROOT benchmarks before executing this command\n");
   }
}
back to top