Commit 8eb07ab67c834c112ad4de0d720c2f3127683c14

Authored by David Mayerich
1 parent 08d1c3b9

edited profiling code for BSQ->BIL

Showing 1 changed file with 11 additions and 3 deletions   Show diff stats
@@ -377,6 +377,10 @@ public: @@ -377,6 +377,10 @@ public:
377 } 377 }
378 378
379 bool bil(std::string outname, bool PROGRESS = false){ 379 bool bil(std::string outname, bool PROGRESS = false){
  380 +
  381 + size_t in_time, out_time, calc_time; //initialize the timing variables
  382 + in_time = out_time = calc_time = 0;
  383 +
380 size_t XY = X() * Y(); //number of elements in an input slice 384 size_t XY = X() * Y(); //number of elements in an input slice
381 size_t XB = X() * Z(); //number of elements in an output slice 385 size_t XB = X() * Z(); //number of elements in an output slice
382 size_t XYbytes = XY * sizeof(T); //number of bytes in an input slice 386 size_t XYbytes = XY * sizeof(T); //number of bytes in an input slice
@@ -413,7 +417,7 @@ public: @@ -413,7 +417,7 @@ public:
413 file.seekg(jump, std::ios::cur); //jump to the next band 417 file.seekg(jump, std::ios::cur); //jump to the next band
414 } 418 }
415 auto in_end = std::chrono::high_resolution_clock::now(); 419 auto in_end = std::chrono::high_resolution_clock::now();
416 - std::cout << std::chrono::duration_cast<std::chrono::milliseconds>(in_end-in_begin).count() << "ms" << std::endl; 420 + in_time += std::chrono::duration_cast<std::chrono::milliseconds>(in_end-in_begin).count();
417 421
418 auto calc_begin = std::chrono::high_resolution_clock::now(); 422 auto calc_begin = std::chrono::high_resolution_clock::now();
419 423
@@ -428,15 +432,19 @@ public: @@ -428,15 +432,19 @@ public:
428 } 432 }
429 } 433 }
430 auto calc_end = std::chrono::high_resolution_clock::now(); 434 auto calc_end = std::chrono::high_resolution_clock::now();
431 - std::cout << std::chrono::duration_cast<std::chrono::milliseconds>(calc_end-calc_begin).count() << "ms" << std::endl; 435 + calc_time += std::chrono::duration_cast<std::chrono::milliseconds>(calc_end-calc_begin).count();
432 436
433 auto out_begin = std::chrono::high_resolution_clock::now(); 437 auto out_begin = std::chrono::high_resolution_clock::now();
434 target.write((char*)ptrOut, batch_bytes); //write the batch to disk 438 target.write((char*)ptrOut, batch_bytes); //write the batch to disk
435 auto out_end = std::chrono::high_resolution_clock::now(); 439 auto out_end = std::chrono::high_resolution_clock::now();
436 - std::cout << std::chrono::duration_cast<std::chrono::milliseconds>(out_end-out_begin).count() << "ms" << std::endl; 440 + out_time += std::chrono::duration_cast<std::chrono::milliseconds>(out_end-out_begin).count();
437 if(PROGRESS) progress = (double)( c + 1 ) / (batches) * 100; 441 if(PROGRESS) progress = (double)( c + 1 ) / (batches) * 100;
438 } 442 }
439 443
  444 + std::cout<<"BSQ->BIL reads: "<<(double)in_time / (1000 * 60)<<" min"<<std::endl;
  445 + std::cout<<"BSQ->BIL calculations: "<<(double)calc_time / (1000 * 60)<<" min"<<std::endl;
  446 + std::cout<<"BSQ->BIL writes: "<<(double)out_time / (1000 * 60)<<" min"<<std::endl;
  447 +
440 free(ptrIn); 448 free(ptrIn);
441 free(ptrOut); 449 free(ptrOut);
442 target.close(); 450 target.close();