mirror of
https://github.com/intel/llvm.git
synced 2026-01-19 17:45:07 +08:00
[lldb][NFCI] Timer::DumpCategoryTimes should take a reference instead of a pointer
We are assuming that the pointer is always valid, might as well take a reference instead. Differential Revision: https://reviews.llvm.org/D153711
This commit is contained in:
@@ -56,7 +56,7 @@ public:
|
||||
|
||||
static void SetQuiet(bool value);
|
||||
|
||||
static void DumpCategoryTimes(Stream *s);
|
||||
static void DumpCategoryTimes(Stream &s);
|
||||
|
||||
static void ResetCategoryTimes();
|
||||
|
||||
|
||||
@@ -504,7 +504,7 @@ public:
|
||||
|
||||
protected:
|
||||
bool DoExecute(Args &args, CommandReturnObject &result) override {
|
||||
Timer::DumpCategoryTimes(&result.GetOutputStream());
|
||||
Timer::DumpCategoryTimes(result.GetOutputStream());
|
||||
Timer::SetDisplayDepth(0);
|
||||
result.SetStatus(eReturnStatusSuccessFinishResult);
|
||||
|
||||
@@ -527,7 +527,7 @@ public:
|
||||
|
||||
protected:
|
||||
bool DoExecute(Args &args, CommandReturnObject &result) override {
|
||||
Timer::DumpCategoryTimes(&result.GetOutputStream());
|
||||
Timer::DumpCategoryTimes(result.GetOutputStream());
|
||||
result.SetStatus(eReturnStatusSuccessFinishResult);
|
||||
|
||||
if (!result.Succeeded()) {
|
||||
|
||||
@@ -135,7 +135,7 @@ void Timer::ResetCategoryTimes() {
|
||||
}
|
||||
}
|
||||
|
||||
void Timer::DumpCategoryTimes(Stream *s) {
|
||||
void Timer::DumpCategoryTimes(Stream &s) {
|
||||
std::vector<Stats> sorted;
|
||||
for (Category *i = g_categories; i; i = i->m_next) {
|
||||
uint64_t nanos = i->m_nanos.load(std::memory_order_acquire);
|
||||
@@ -153,9 +153,9 @@ void Timer::DumpCategoryTimes(Stream *s) {
|
||||
llvm::sort(sorted, CategoryMapIteratorSortCriterion);
|
||||
|
||||
for (const auto &stats : sorted)
|
||||
s->Printf("%.9f sec (total: %.3fs; child: %.3fs; count: %" PRIu64
|
||||
") for %s\n",
|
||||
stats.nanos / 1000000000., stats.nanos_total / 1000000000.,
|
||||
(stats.nanos_total - stats.nanos) / 1000000000., stats.count,
|
||||
stats.name);
|
||||
s.Printf("%.9f sec (total: %.3fs; child: %.3fs; count: %" PRIu64
|
||||
") for %s\n",
|
||||
stats.nanos / 1000000000., stats.nanos_total / 1000000000.,
|
||||
(stats.nanos_total - stats.nanos) / 1000000000., stats.count,
|
||||
stats.name);
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ TEST(TimerTest, CategoryTimes) {
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(10));
|
||||
}
|
||||
StreamString ss;
|
||||
Timer::DumpCategoryTimes(&ss);
|
||||
Timer::DumpCategoryTimes(ss);
|
||||
double seconds;
|
||||
ASSERT_EQ(1, sscanf(ss.GetData(), "%lf sec for CAT1", &seconds));
|
||||
EXPECT_LT(0.001, seconds);
|
||||
@@ -39,7 +39,7 @@ TEST(TimerTest, CategoryTimesNested) {
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(10));
|
||||
}
|
||||
StreamString ss;
|
||||
Timer::DumpCategoryTimes(&ss);
|
||||
Timer::DumpCategoryTimes(ss);
|
||||
double seconds;
|
||||
// It should only appear once.
|
||||
ASSERT_EQ(ss.GetString().count("CAT1"), 1U);
|
||||
@@ -59,7 +59,7 @@ TEST(TimerTest, CategoryTimes2) {
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(10));
|
||||
}
|
||||
StreamString ss;
|
||||
Timer::DumpCategoryTimes(&ss);
|
||||
Timer::DumpCategoryTimes(ss);
|
||||
double seconds1, seconds2;
|
||||
ASSERT_EQ(2, sscanf(ss.GetData(),
|
||||
"%lf sec (total: %*fs; child: %*fs; count: %*d) for "
|
||||
@@ -92,7 +92,7 @@ TEST(TimerTest, CategoryTimesStats) {
|
||||
// 0.105202764 sec (total: 0.132s; child: 0.027s; count: 1) for CAT1
|
||||
// 0.026772798 sec (total: 0.027s; child: 0.000s; count: 2) for CAT2
|
||||
StreamString ss;
|
||||
Timer::DumpCategoryTimes(&ss);
|
||||
Timer::DumpCategoryTimes(ss);
|
||||
double seconds1, total1, child1, seconds2;
|
||||
int count1, count2;
|
||||
ASSERT_EQ(
|
||||
|
||||
Reference in New Issue
Block a user