| 91 | } |
| 92 | |
| 93 | void AggregateSpillBenchmarkBase::printStats() const { |
| 94 | LOG(INFO) << "======Aggregate " << Spiller::typeName(spillerType_) |
| 95 | << " spilling statistics======"; |
| 96 | LOG(INFO) << "total execution time: " << succinctMicros(executionTimeUs_); |
| 97 | LOG(INFO) << numInputVectors_ << " vectors each with " << inputVectorSize_ |
| 98 | << " rows have been processed"; |
| 99 | const auto memStats = memory::spillMemoryPool()->stats(); |
| 100 | LOG(INFO) << "peak memory usage[" << succinctBytes(memStats.peakBytes) |
| 101 | << "] cumulative memory usage[" |
| 102 | << succinctBytes(memStats.cumulativeBytes) << "]"; |
| 103 | LOG(INFO) << spiller_->stats().toString(); |
| 104 | // List files under file path. |
| 105 | SpillPartitionSet partitionSet; |
| 106 | spiller_->finishSpill(partitionSet); |
| 107 | BOLT_CHECK_EQ(partitionSet.size(), 1); |
| 108 | const auto files = fs_->list(spillDir_); |
| 109 | for (const auto& file : files) { |
| 110 | auto rfile = fs_->openFileForRead(file); |
| 111 | LOG(INFO) << "spilled file " << file << " size " |
| 112 | << succinctBytes(rfile->size()); |
| 113 | } |
| 114 | } |
| 115 | |
| 116 | void AggregateSpillBenchmarkBase::writeSpillData() { |
| 117 | vector_size_t numRows = 0; |
nothing calls this directly
no test coverage detected