当前位置: 首页>>代码示例>>C++>>正文


C++ TStopwatch::Print方法代码示例

本文整理汇总了C++中TStopwatch::Print方法的典型用法代码示例。如果您正苦于以下问题:C++ TStopwatch::Print方法的具体用法?C++ TStopwatch::Print怎么用?C++ TStopwatch::Print使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在TStopwatch的用法示例。


在下文中一共展示了TStopwatch::Print方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: mp104_processH1

int mp104_processH1()
{

   // MacOSX may generate connection to WindowServer errors
   gROOT->SetBatch(kTRUE);

   TStopwatch stp;

   // Prepare dataset: vector of files
   std::vector<std::string> files;
   for (int i = 0; i < 4; i++) {
      files.push_back(fh1[i]);
   }

// Check and fit lambdas
#include "mp_H1_lambdas.C"

   ROOT::TTreeProcessorMP pool(3);

   std::cout << tutname << "processing the H1 dataset with a lambda \n";

   auto hListFun = pool.Process(files, doH1, "h42");

   // Check the output
   if (checkH1(hListFun) < 0) return -1;

   // Do the fit
   if (doFit(hListFun, logfile.c_str()) < 0) return -1;

   stp.Print();
   stp.Start();

   // Run the analysis with a selector

   TString selectorPath = gROOT->GetTutorialDir();
   selectorPath += "/tree/h1analysisTreeReader.C+";
   std::cout << tutname << "processing the H1 dataset with selector '" << selectorPath << "'\n";
   TSelector *sel = TSelector::GetSelector(selectorPath);

   // In a second run we use sel
   gSystem->RedirectOutput(logfile.c_str(), "w", &gRH);
   auto hListSel = pool.Process(files, *sel, "h42");
   gSystem->RedirectOutput(0, 0, &gRH);

   // Check the output
   if (checkH1(hListSel) < 0) return -1;

   // Do the fit
   if (doFit(hListSel, logfile.c_str()) < 0) return -1;

   stp.Print();
   stp.Start();

   return 0;
}
开发者ID:davidlt,项目名称:root,代码行数:55,代码来源:mp104_processH1.C

示例2: AODmerge

//______________________________________________________________________________
void AODmerge()
{
  // Merging method. No staging and no terminate phase.
  TStopwatch timer;
  timer.Start();
  TString outputDir = "wn.xml";
  TString outputFiles = VAR_AOD_MERGE_FILES;
  TString mergeExcludes = "";
  TObjArray *list = outputFiles.Tokenize(",");
  TIter *iter = new TIter(list);
  TObjString *str;
  TString outputFile;
  Bool_t merged = kTRUE;
  while((str=(TObjString*)iter->Next())) {
    outputFile = str->GetString();
    // Skip already merged outputs
    if (!gSystem->AccessPathName(outputFile)) {
      printf("Output file <%s> found. Not merging again.",outputFile.Data());
      continue;
    }
    if (mergeExcludes.Contains(outputFile.Data())) continue;
    merged = AliAnalysisAlien::MergeOutput(outputFile, outputDir, 10, 0);
    if (!merged) {
      printf("ERROR: Cannot merge %s\n", outputFile.Data());
      return;
    }
  }
  // all outputs merged, validate
  ofstream out;
  out.open("outputs_valid_merge", ios::out);
  out.close();
  timer.Print();
}
开发者ID:ktf,项目名称:AliPhysics,代码行数:34,代码来源:AODtrainsim.C

示例3: limit

Double_t limit( std::string channel, // dimuon, dielectron, mumuee, etc
		std::string mode,    // observed, expected, mass limit (extra k-factor uncertainty)
		Float_t peak,        // resonance mass
		std::string suffix,  // suffix for output file names
		Int_t ntoys,         // number of pseudoexperiments for expected limit
		Int_t mcmc_iter,     // number of MCMC iterations
		Int_t mcmc_burnin,   // number of MCMC burn in steps to be discarded
		std::string inputdir,// directory with workspace files
		Double_t masswindow_width,
		UInt_t minEvents ){

  // time it
  TStopwatch t;
  t.Start();
  
  RooMsgService::instance().setGlobalKillBelow(RooFit::WARNING);

  Double_t limit = -1.0;  

  TwoBody manager;

  //dimuon single channel ratio limit
  if (channel.find("dimuon") != std::string::npos ){
    manager.DimuonRatioLimit(peak, mode, suffix,
			     ntoys, mcmc_iter, mcmc_burnin,
			     inputdir,masswindow_width,minEvents);
  }

  t.Print();
  
  return limit;
}
开发者ID:neumeist,项目名称:twobody,代码行数:32,代码来源:dimuon.C

示例4: sim

void sim(Int_t nev=5) {
  // Libraries required by the simulation

  gSystem->Load("liblhapdf"); // Parton density functions
  gSystem->Load("libEGPythia6"); // TGenerator interface
  gSystem->Load("libgeant321");

  gSystem->Load("libDPMJET"); // DPMJET, PhoJet and Pythia6115 library
  gSystem->Load("libAliPythia6"); // ALICE specific implementations
  gSystem->Load("libTDPMjet"); // DPMJET interface


  AliSimulation simulator;
  simulator.SetMakeSDigits("TRD TOF PHOS HMPID EMCAL MUON FMD ZDC PMD T0 VZERO");
  simulator.SetMakeDigitsFromHits("ITS TPC");
  simulator.SetWriteRawData("ALL","raw.root",kTRUE);

  simulator.SetDefaultStorage("local://$ALIROOT_OCDB_ROOT/OCDB");
  simulator.SetSpecificStorage("GRP/GRP/Data",
			       Form("local://%s",gSystem->pwd()));
 
  simulator.SetRunHLT("default"); // In case we do not have ancored production

  TStopwatch timer;
  timer.Start();
  simulator.Run(nev);
  timer.Stop();
  timer.Print();
}
开发者ID:alisw,项目名称:AliRoot,代码行数:29,代码来源:sim.C

示例5: sim

void sim(Int_t nev=100) {
  if (gSystem->Getenv("EVENT"))
   nev = atoi(gSystem->Getenv("EVENT")) ;   
  
  AliSimulation simulator;
  simulator.SetMakeSDigits("TRD TOF PHOS HMPID EMCAL MUON FMD ZDC PMD T0 VZERO");
  simulator.SetMakeDigitsFromHits("ITS TPC");
  //  simulator.SetWriteRawData("ALL","raw.root",kTRUE);

  simulator.SetDefaultStorage("alien://Folder=/alice/simulation/2008/v4-15-Release/Ideal");
  //  simulator.SetDefaultStorage("local://$ALICE_ROOT/OCDB");
  simulator.SetSpecificStorage("GRP/GRP/Data",
			       Form("local://%s",gSystem->pwd()));
  
  simulator.SetRunQA(":") ; 
  
//  simulator.SetQARefDefaultStorage("local://$ALICE_ROOT/QAref") ;
//
//  for (Int_t det = 0 ; det < AliQA::kNDET ; det++) {
//    simulator.SetQACycles(det, nev+1) ;
//  }
  
  TStopwatch timer;
  timer.Start();
  simulator.Run(nev);
  timer.Stop();
  timer.Print();
}
开发者ID:JanFSchulte,项目名称:monalisa,代码行数:28,代码来源:sim.C

示例6: rec

void rec() {
 
	AliReconstruction reco;
	reco.SetWriteESDfriend();
	reco.SetWriteAlignmentData();

	reco.SetRecoParam("ITS",AliITSRecoParam::GetLowFluxParam());
	reco.SetRecoParam("TPC",AliTPCRecoParam::GetLowFluxParam());
	reco.SetRecoParam("TRD",AliTRDrecoParam::GetLowFluxParam());
	reco.SetRecoParam("PHOS",AliPHOSRecoParam::GetDefaultParameters());
	reco.SetRecoParam("MUON",AliMUONRecoParam::GetLowFluxParam());
 	reco.SetRecoParam("EMCAL",AliEMCALRecParam::GetLowFluxParam());
 
	reco.SetDefaultStorage("alien://Folder=/alice/simulation/2008/v4-15-Release/Ideal/?cacheFold=/tmp/CDBCache?operateDisconnected=kFALSE");
 
        reco.SetSpecificStorage("GRP/GRP/Data",
                          Form("local://%s",gSystem->pwd()));

	// add TRD standalone tracks
	reco.SetOption("TRD", "sl_tr_1");

	reco.SetRunGlobalQA(kTRUE);

	TStopwatch timer;
	timer.Start();
	reco.Run();
	timer.Stop();
	timer.Print();
}
开发者ID:JanFSchulte,项目名称:monalisa,代码行数:29,代码来源:rec.C

示例7: tracker

Int_t AliITSrefitV2(Int_t nev=1) {
   cerr<<"Propagating tracks inward through the ITS...\n";

   TFile *in=TFile::Open("AliTPCrefited.root");
   if (!in->IsOpen()) {cerr<<"Can't open AliTPCrefited.root !\n"; return 1;}

   TFile *out=TFile::Open("AliITStracksV2.root","update");
   if (!out->IsOpen()) {
      cerr<<"Can't open AliITStracksV2.root !\n"; return 2;
   }
   TFile *file=TFile::Open("AliITSclustersV2.root");
   if (!file->IsOpen()) {
      cerr<<"Can't open AliITSclustersV2.root !\n";return 3;
   }
   AliITSgeom *geom=(AliITSgeom*)file->Get("AliITSgeom");

   Int_t rc=0;
   TStopwatch timer;
   AliITStrackerV2 tracker(geom);
   for (Int_t i=0; i<nev; i++) {
     cerr<<"Processing event number : "<<i<<endl;
     tracker.SetEventNumber(i);
     rc=tracker.RefitInward(in,out);
   }
   timer.Stop(); timer.Print();

   delete geom;

   file->Close();
   in->Close();
   out->Close();

   return rc;
}
开发者ID:alisw,项目名称:AliRoot,代码行数:34,代码来源:AliITSrefitV2.C

示例8: rec

void rec() {
  AliReconstruction reco;

  reco.SetWriteESDfriend();
  reco.SetWriteAlignmentData();

  reco.SetDefaultStorage(Form("local://%s/OCDB", gSystem->pwd()));
  reco.SetSpecificStorage("GRP/GRP/Data",
			  Form("local://%s",gSystem->pwd()));
  reco.SetRunPlaneEff(kTRUE);

  //reco.SetRunQA("ALL:ALL") ;
  
  reco.SetQARefDefaultStorage("local://$ALICE_ROOT/QAref") ;
  
  for (Int_t det = 0 ; det < AliQA::kNDET ; det++) {
    reco.SetQACycles((AliQAv1::DETECTORINDEX_t)det, 999) ;
    reco.SetQAWriteExpert((AliQAv1::DETECTORINDEX_t)det) ; 
  }
  
  TStopwatch timer;
  timer.Start();
  reco.Run();
  timer.Stop();
  timer.Print();
}
开发者ID:Gangbiao,项目名称:cvmfs,代码行数:26,代码来源:rec.C

示例9: sim

void sim(const TString sID, Int_t nev=1000)
{
    gSystem->cd(sID.Data());

//gSystem->Load("liblhapdf");
    gSystem->Load("liblhapdf_5_9_1");
    gSystem->Load("libEGPythia6");
//gSystem->Load("libpythia6");
    gSystem->Load("libpythia6_4_21");
//gSystem->Load("libqpythia");
    gSystem->Load("libAliPythia6");
    gSystem->Load("libHIJING");
    gSystem->Load("libTHijing");
    gSystem->Load("libgeant321");

    if (gSystem->Getenv("EVENT")) nev = atoi(gSystem->Getenv("EVENT"));

    AliSimulation simulator;
    simulator.SetRunGeneration(kTRUE);
    simulator.SetRunSimulation(kFALSE);
    simulator.SetMakeSDigits("");
    simulator.SetMakeDigitsFromHits("");
    simulator.SetWriteRawData("");
    simulator.SetRunQA(":") ;

    TStopwatch timer;
    timer.Start();
    simulator.Run(nev);
    WriteXsection();
    timer.Stop();
    timer.Print();

    return;
}
开发者ID:xcheung,项目名称:AliPYTHIA,代码行数:34,代码来源:sim.C

示例10: example

void example(double E0 = 50, int nevents = 100000)
{
   TStopwatch timer;

   // compound nucleus = carbon
   KVNucleus CN(6, 12);
   CN.SetExcitEnergy(E0);

   // decay products
   KVEvent decay;
   KVNucleus* n = decay.AddParticle();
   n->SetZandA(1, 2);
   n = decay.AddParticle();
   n->SetZandA(2, 4);
   n = decay.AddParticle();
   n->SetZandA(3, 6);

   MicroStat::mdweight gps;
   Double_t etot = E0 + decay.GetChannelQValue();
   Double_t total_mass = decay.GetSum("GetMass");

   if (etot <= 0) {
      printf("Break-up channel is not allowed\n");
      return;
   }
   gps.SetWeight(&decay, etot);
   gps.initGenerateEvent(&decay);

   std::cout << "Edisp = " << etot << " MeV" << std::endl;
   KVHashList histos;
   TH1F* h;

   while ((n = decay.GetNextParticle())) {
      Double_t kappa = total_mass / (total_mass - n->GetMass());
      std::cout << n->GetSymbol() << " : max KE = " << 1. / kappa << " * " << etot << " MeV" << std::endl;
      std::cout << n->GetSymbol() << " : m/M = " << n->GetMass() / total_mass << " k = " << kappa << std::endl;
      histos.Add(h = new TH1F(n->GetSymbol(), Form("Kinetic energy of %s", n->GetSymbol()), 200, 0, etot));
      h->Sumw2();
   }
   KVEvent event;

   while (nevents--) {
      gps.GenerateEvent(&decay, &event);
      while ((n = event.GetNextParticle()))((TH1F*)histos.FindObject(n->GetSymbol()))->Fill(n->GetE());
      gps.resetGenerateEvent();
   }

   TIter it(&histos);

   while ((h = (TH1F*)it())) {

      KVNucleus part(h->GetName());
      new TCanvas;
      FitEDist(h, etot, decay.GetMult(), total_mass, part.GetMass());

   }

   timer.Print();
}
开发者ID:FableQuentin,项目名称:kaliveda,代码行数:59,代码来源:MicroStat_example2.C

示例11: sim

void sim(Int_t nev=50) {

  if (gSystem->Getenv("SIM_EVENTS"))
    nev = atoi(gSystem->Getenv("SIM_EVENTS"));

  printf("GENERATE << %d >> events \n",nev);

  gROOT->LoadMacro("IpPion.C++") ;


  AliSimulation simulator;
  simulator.SetMakeSDigits("PHOS");
  simulator.SetMakeDigits("PHOS");
//
// Ideal OCDB
//  simulator.SetDefaultStorage("local://$ALICE_ROOT/OCDB");
  simulator.SetDefaultStorage("local://./OCDB");
//  simulator.SetSpecificStorage("GRP/GRP/Data",
//                               Form("local://%s",gSystem->pwd()));

//  simulator.SetDefaultStorage("alien://Folder=/alice/simulation/2008/v4-15-Release/Ideal/");

 //simulator.SetSpecificStorage("GRP/Calib/MeanVertexSPD", "alien://folder=/alice/data/2010/OCDB");

  //PHOS bad map from RAW OCDB
  simulator.SetSpecificStorage("PHOS/*/*/","local://./OCDB");
//  simulator.SetSpecificStorage("PHOS/Calib/EmcBadChannels/","local://./OCDB");
//  simulator.SetSpecificStorage("PHOS/Calib/EmcGainPedestals/","local://./OCDB");

  simulator.SetRunHLT("");
//

  simulator.SetSpecificStorage("GRP/GRP/Data", "alien://Folder=/alice/data/2010/OCDB");

  AliPHOSSimParam *simParam =  AliPHOSSimParam::GetInstance() ;
  simParam->SetAPDNoise(0.000001) ;
  simParam->SetCellNonLineairyA(0.001) ;
//  simParam->SetCellNonLineairyA(0.1) ; //Default
  simParam->SetCellNonLineairyB(0.2) ;
//  simParam->SetCellNonLineairyC(0.989) ; //Jan4
//  simParam->SetCellNonLineairyC(0.995) ; //Jan5 - 2GeV
  simParam->SetCellNonLineairyC(1.031) ; //no NL

// Vertex and Mag.field from OCDB

//  simulator.UseVertexFromCDB();
  simulator.UseMagFieldFromGRP();
  simulator.SetRunQA(":") ;

//
// The rest

  TStopwatch timer;
  timer.Start();
  simulator.Run(nev);
  timer.Stop();
  timer.Print();
}
开发者ID:ktf,项目名称:AliPhysics,代码行数:58,代码来源:sim.C

示例12: MergeSimpleHistogramFile

//________________________________________________________________________________
void MergeSimpleHistogramFile( const Char_t *TargetName=0, const Char_t *inputFilesPattern=0) 
{
   // This is the deprecated version. To be dleted after debugging
  if (TargetName && TargetName[0] && inputFilesPattern && inputFilesPattern[0] ) {
    TStopwatch time;
    Int_t fileCounter = 0;
    Int_t histogramCounter = 0;
     // Create the output file
     TFile *outFile = TFile::Open(TargetName,"RECREATE");     
     TDirIter listOfFiles(inputFilesPattern);
     const char *fileName = 0;
     while ( (fileName =  listOfFiles.NextFile() ) ) {
        printf(".");
        fileCounter++;
        TFileIter file(fileName);
        TObject *obj = 0;
        while ( (obj = *file) ) {
           if ( obj->IsA()->InheritsFrom( "TH1" ) ) {
              // descendant of TH1 -> merge it
              // printf("Merging histogram: %s\n",obj->GetName() ); 
//              std::cout << "Merging histogram " << obj->GetName() << std::endl;
              TH1 *h1 = (TH1*)obj;
              TH1 *dstHistogram = 0;
              // Check whether we found the new histogram
              if ( (dstHistogram = (TH1 *)outFile->FindObject(h1->GetName()))) {
                 // Accumulate  the  histogram
                  dstHistogram->Add(h1);
                  delete h1;  // Optional, to reduce the memory consumption
                  printf("+");
              } else {
                // First time - move the histogram
                h1->SetDirectory(outFile);
                printf(" The new Histogram found: %s \n", h1->GetName() );
                histogramCounter++;
              }
           } else {
              // printf("Skipping object: %s\n",obj->GetName() ); 
           }
           ++file;
        }
              
     }
     printf("\n Finishing  . . . \n");
     outFile->ls();
     outFile->Write();
     outFile->Close();     
     delete outFile;
     printf(" Total files merged: %d \n", fileCounter);
     printf(" Total histograms merged: %d \n", histogramCounter);
     time.Print("Merge");
  } else {
     printf("\nUsage: root MergeHistogramFile.C(\"DestinationFileName\",\"InputFilesPattern\",kTRUE)\n");     
     printf("------        where InputFilesPattern  ::= <regexp_pattern_for_the_input_files>|@indirect_file_list\n");
     printf("                    indirect_file_list ::= a text file with the list of the files\n");
     printf("                    indirect_file_list can be create by the shell command:\n");
     printf("                         ls -1 --color=never *.root>indirect_file_list \n\n");
  }
}
开发者ID:kalanand,项目名称:UserCode,代码行数:59,代码来源:MergeHistogramFile.C

示例13: main

int main (int argc, char *argv[]){
  
  OptionParser(argc,argv);

  TStopwatch sw;
  sw.Start();
  
  if (clean_){
    cout << "Cleaning up first..." << endl;
    system("rm -rf plots/*");
  }
  if (skipSecondaryModels_){
    doSMHiggsAsBackground_=false;
    doSecondHiggs_=false;
    doNaturalWidth_=false;
  }
  SimultaneousFit *simultaneousFit = new SimultaneousFit(filename_,outfilename_,mhLow_,mhHigh_,verbose_,nInclusiveCats_,nExclusiveCats_,doSMHiggsAsBackground_,doSecondHiggs_,doNaturalWidth_);
  simultaneousFit->setInitialFit(initialFit_);
  simultaneousFit->setSimultaneousFit(simultaneousFit_);
  simultaneousFit->setMHDependentFit(mhDependentFit_);
  simultaneousFit->setLoadPriorConstraints(loadPriorConstraints_,constraintValue_);
  if (linearInterp_) {
    simultaneousFit->setLinearInterp(true);
    onlyInitialFit_=true;
  }
  if (onlyInitialFit_) {
    simultaneousFit->setSimultaneousFit(false);
    simultaneousFit->setMHDependentFit(false);
  }
  simultaneousFit->setForceFracUnity(forceFracUnity_);
  if (fork_) simultaneousFit->setFork(forkN_);
  if (saveExtra_) {
    extrafilename_=="0" ?
      simultaneousFit->saveExtra(outfilename_.substr(0,outfilename_.find_last_of(".root"))+"_extra.root") :   
      simultaneousFit->saveExtra(extrafilename_.c_str())  
    ;
  }
  simultaneousFit->runFit(proc_,cat_,nGaussians_,dmOrder_,sigmaOrder_,fracOrder_,recursive_,setToFitValues_);
  if (dumpVars_) simultaneousFit->dumpPolParams(Form("dat/out/pols_%s_cat%d.dat",proc_.c_str(),cat_),proc_);
  //delete simultaneousFit;
  
  cout << "Done." << endl;
  cout << "Whole process took..." << endl;
  cout << "\t "; sw.Print();
 
  if (web_){
    string sitename = webdir_.substr(webdir_.find("www")+4,string::npos);
    sitename = "www.cern.ch/mkenzie/"+sitename;
    cout << "Publishing to web directory " << webdir_ << endl;
    system(Form("rm -rf %s",webdir_.c_str()));
    system(Form("cp -r plots %s",webdir_.c_str()));
    system(Form("make_html.py %s -c -l -n --title \"Simultaneous Signal Fitting\"",webdir_.c_str()));
    cout << "\t" << sitename << endl;
  }

  return 0;
}
开发者ID:h2gglobe,项目名称:UserCode,代码行数:57,代码来源:SimultaneousSignalFit.cpp

示例14: runTOFCalibTaskOnProof

void runTOFCalibTaskOnProof() {
	TStopwatch timer;
	timer.Start();
	
	printf("*** Open PROOF ***");

	gEnv->SetValue("XSec.GSI.DelegProxy","2");
	TProof::Open("alicecaf");
		
	gProof->UploadPackage("STEERBase.par");
	gProof->EnablePackage("STEERBase");
	gProof->UploadPackage("ESD.par");
	gProof->EnablePackage("ESD");
	gProof->UploadPackage("AOD.par");
	gProof->EnablePackage("AOD");
	gProof->UploadPackage("ANALYSIS.par");
	gProof->EnablePackage("ANALYSIS");
	gProof->UploadPackage("ANALYSISalice.par");
	gProof->EnablePackage("ANALYSISalice");
	
	gProof->Load("AliTOFArray.cxx++g");
	gProof->Load("AliTOFCalibTask.cxx++g");
	gROOT->LoadMacro("AddTaskTOFCalib.C");
	cout << "Loaded AddTaskTOFCalib macro "<< endl;
	
	gProof->ShowEnabledPackages();
	
	//ANALYSIS PART	
	//____________________________________________//
	// Make the analysis manager

	AliAnalysisManager *mgr = new AliAnalysisManager("TestManager");
	AliESDInputHandler* esdH = new AliESDInputHandler;
	
	esdH->SetInactiveBranches("FMD CaloCluster");
	mgr->SetInputEventHandler(esdH);  
	
	Bool_t domc = kFALSE;
	if (domc) {
		AliMCEventHandler *mcH = new AliMCEventHandler;
		mgr->SetMCtruthEventHandler(mcH);
	}

	//____________________________________________//
	// 1st TOFCalib task
	
	AliTOFCalibTask *taskTOFCalib = AddTaskTOFCalib();
	
	if (!mgr->InitAnalysis()) return;
	mgr->PrintStatus();
	mgr->StartAnalysis("proof","/COMMON/COMMON/LHC08c11_10TeV_0.5T",1000);
	
	timer.Stop();
	timer.Print();
}
开发者ID:alisw,项目名称:AliRoot,代码行数:55,代码来源:runTOFCalibTaskOnProof.C

示例15: TestFitG

void TestFitG(TGraph *gr, TF1*f, Int_t n){
  TStopwatch timer;
  printf("%s\n",f->GetTitle());
  timer.Start();
  for (Int_t i=0;i<n;i++){
    gr->Fit(f,"q");
  }
  timer.Stop();
  timer.Print(); 
  //f->Print();
}
开发者ID:asmagina1995,项目名称:roottest,代码行数:11,代码来源:TestSpeed.C


注:本文中的TStopwatch::Print方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。